Tickets Setup for Blog/Forum on MODX
Tickets is a MODX Extra for creating blogs and forums with comments, subscriptions, voting, authenticated users. Allows adding UGC functionality (user-generated content) without developing from scratch.
Installation
Package Manager → Tickets → install. Tickets installs component, snippets and plugins.
Dependencies: Email, HybridAuth (for social login, optional).
Blog Section Structure
Resource Tree:
└── Blog (template: blog-list, class_key: msResourceSection)
├── Article 1 (class: Ticket)
├── Article 2 (class: Ticket)
└── ...
Create section: add resource → change class_key to msResourceSection in Document Settings tab.
Articles List Output (TicketList)
[[!TicketList?
&parents=`[[*id]]`
&sortby=`publishedon`
&sortdir=`DESC`
&limit=`10`
&tvPrefix=``
&tpl=`ticketRow`
&toPlaceholder=`tickets`
&pagination=`1`
&paginationOuter=`pagination`
]]
[[+tickets]]
[[+pagination]]
Chunk ticketRow:
<article class="blog-card">
[[+image:notempty=`<img src="[[+image:phpthumb=`w=600,h=400,zc=1`]]" alt="[[+pagetitle]]" loading="lazy">`]]
<div class="blog-card__body">
<div class="blog-card__meta">
<time datetime="[[+publishedon]]">[[+publishedon:strtotime:date=`d.m.Y`]]</time>
<span>[[+author]]</span>
<span>[[+comments_count]] comments</span>
</div>
<h2><a href="[[+uri]]">[[+pagetitle]]</a></h2>
<p>[[+introtext]]</p>
<a href="[[+uri]]" class="btn">Read More</a>
</div>
</article>
Article Template
[[- In ticket-detail template ]]
<article class="blog-post">
<h1>[[*pagetitle]]</h1>
<div class="blog-post__meta">
<time>[[*publishedon:strtotime:date=`d F Y`]]</time>
[[TicketAuthor? &tpl=`ticketAuthor`]]
</div>
[[*content]]
[[- Voting ]]
[[TicketVoting]]
[[- Tags ]]
[[TicketTags? &separator=`, `]]
[[- Comments ]]
[[!TicketComments]]
[[!TicketCommentForm]]
</article>
Comment Access Rights
// Allow comments only for authenticated:
// In Tickets system settings:
// tickets.comment_guest = 0 (anonymous cannot)
// tickets.comment_member = 1 (registered can)
// Comment moderation:
// tickets.comment_moderation = 1
Email Notifications
Tickets sends email on new comment to article author. Configure template in chunk ticketEmailComment.
Forum vs Blog
Tickets supports nested replies — can create simple forum. For full-featured forum with sections, moderator rights and search — consider disqus integration or separate forum engine.
Timeline
Setting up blog with Tickets (list, detail page, comments) — 2–3 days.







