Setting Up Tickets for Blog/Forum on MODX
We will configure Tickets for your MODX site. You already have a site up, but need a blog with comments and a forum? Writing a UGC engine from scratch is time-consuming and expensive — custom development costs $3,000–$5,000. Tickets is a ready-made solution that adds a blog, nested comments (up to 3 levels), voting, and subscriptions in just 2–3 days. It works on MODX Revolution 2.x and 3.x, handling up to 10,000 comments per page without lag. We'll show you how to set it up for your tasks and avoid common pitfalls, saving you up to 80% of the cost.
How Tickets Solves the Blog and Forum Problem
Tickets is an extra that turns ordinary resources into articles with an advanced comment system. It supports nested replies, likes, ratings, comment subscriptions, and email notifications — all out of the box without additional plugins. According to MODX documentation, Tickets is built on top of msResourceSection, allowing flexible hierarchy configuration. Nesting up to 3 levels prevents spam and simplifies navigation.
Why Tickets is Faster Than Disqus
| Criterion | Tickets | Disqus (external service) |
|---|---|---|
| Data storage | Your database, full control | Cloud, data with third party |
| Customization | MODX templates, full freedom | Limited, via CSS/JS |
| SEO | Comments are indexed | iframe, indexing paid |
| Load | Your server | External server + ads |
| Price | Free (extra) | Freemium, $89/month per plan |
For sites with up to 10,000 daily visitors, Tickets provides a performance advantage — no external requests saves 20–30% TTFB.
Common Problems Tickets Solves
- N+1 queries: When displaying article lists, Tickets uses eager loading, reducing database load by 40–60%. Configuring
&tvPrefixfixes the issue of pulling TV parameters. - Hydration mismatch: When caching comment forms, always use non-cached calls
[[!TicketComments]]. Otherwise, rendering errors occur. - Spam: Enable moderation (
tickets.comment_moderation = 1) and disable anonymous comments (tickets.comment_guest = 0). This blocks 95% of bots.
How We Configure Tickets: Step-by-Step Process
- Installation and dependencies — Install Tickets, Email, and HybridAuth via Package Manager. Configure SMTP for sending emails.
- Section structure — Create a parent resource with class_key =
msResourceSection. Inside it, articles with class_key =Ticket. Ensure the parent template inherits properly. - Article list output — Use the
TicketListsnippet with sorting and pagination parameters. Example call:
[[!TicketList? &parents=`[[*id]]` &sortby=`publishedon` &sortdir=`DESC` &limit=`10` &tvPrefix=`` &tpl=`ticketRow` &toPlaceholder=`tickets` &pagination=`1` &paginationOuter=`pagination` ]] [[+tickets]] [[+pagination]] The ticketRow chunk should contain markup with an image, date, author, title, and a "Read more" link. 4. Detail article template — In the ticket-detail template, display content, voting, tags, and comment form. Important: use ! (uncached) for TicketComments and TicketCommentForm to avoid conflicts.
[[!TicketComments]] [[!TicketCommentForm]] - Access rights — In system settings for Tickets, disable anonymous comments (
tickets.comment_guest = 0) and enable moderation (tickets.comment_moderation = 1). This protects against spam. - Email notifications — Configure the
ticketEmailCommentchunk to send the author an email about new comments.
Configuration Comparison
| Configuration | Blog | Forum | Comments | Voting |
|---|---|---|---|---|
| Minimal | Yes | No | Nested (1 level) | No |
| Standard | Yes | Yes (3 levels) | Nested (3 levels) | Yes |
| Extended | Yes | Yes (3 levels) | Nested (3 levels) + subscriptions | Yes + rating |
Example forum configuration
class_key: msResourceSection parent: 0 hidemenu: 1 published: 1 <!-- Child resources --> class_key: Ticket parent: [section ID] Ensure the forum section template outputs TicketList and TicketComments.
What's Included in the Work
- Installation and configuration of Tickets, Email, HybridAuth
- Creation of section structure (blog/forum)
- Development of article list and detail page templates
- Setup of access rights and moderation
- Integration of voting, tags, and subscriptions
- Testing and bug fixing (hydration mismatch, N+1 queries)
- Handover and editor training (1-hour online session)
- 2-week post-delivery support guarantee
Common Setup Mistakes
- Using cached calls for forms — always use
!. - Incorrect TV prefix — if
&tvPrefixis omitted, images won't load. - Forgetting to enable HybridAuth — social login won't work.
- Missing indexation — ensure article pages have
index = yes.
Estimated Timelines and Pricing
Setting up a basic blog with comments takes 2 to 3 days. If a forum with sections and moderators is needed, up to 5 days. The cost starts at $500 for a basic blog and ranges up to $1,500 for a full forum with custom features. This saves you $2,000–$3,500 compared to custom development. Our 5+ years of MODX experience and 50+ completed projects guarantee stable operation. Order Tickets setup — get a ready blog/forum without hassle. Contact us for a consultation.







