Repository navigation
v2.4.0 — Knowledge Base, FAQ, and Contact Page modules
Extends the portal builder (v2.3.1) with three public content modules. Each has full admin CRUD, public portal views, and a section toggle in Settings → Client Portal. When a section is enabled, its corresponding nav link is automatically injected into the portal top navigation and footer.
Knowledge Base
- Categories and articles with slugs; URLs
/kb,/kb/{category},/kb/{category}/{article} - Article view counter, excerpts, published/draft state, sort order
- Full-text search across article titles and content
- Related-articles section on each article page
- Admin: categories CRUD, articles CRUD with category filter and search
FAQ
- Flat question/answer items with sort order and published/draft state
- Public accordion view at
/faqusing Alpinex-collapse - CTA linking to client support at the bottom
Contact Page
- Public form at
/contact: name, email, subject, message (server-side validated) - Submissions stored in
contact_messageswith IP and timestamp - Admin inbox at
/admin/contact-messageswith unread counter and read/unread filter - Opening a message marks it as read automatically
Portal builder additions
- Three new section toggles: Knowledge Base, FAQ, Contact Page (all default off)
- Portal layout auto-injects nav links for enabled sections so visitors see them in the topnav and footer without the admin manually adding custom nav links
Admin sidebar
- New Content dropdown group containing KB Categories, KB Articles, FAQs, and Contact Messages
Database
- 3 new migrations:
kb_categories+kb_articles,faqs,contact_messages - All destroy endpoints use
current_password:staffvalidation, matching the pattern established in v2.3.1