Help center Customer portals Liquid article comments: display reader feedback safely Updated Wednesday, October 28, 2026 · Marc Staine Article comments can reveal unclear instructions, missing scenarios and changes that the knowledge team needs to review. A readable comment section helps customers understand the conversation, while support operations can use the feedback to improve the article. sb.article_comments supplies the comments for the authorized article context; it does not itself provide a moderation or approval workflow. At a glanceFor: portal administrators and designers working with support operations. Applies to: Supportbench Core.Start here: Settings → Customer Portal → select the portal → Page templates What this object gives you · Choose the correct page and customer context · Supported values and how to use them · Example: provide a plain-text comment list · Turn feedback into a useful knowledge review · Make and verify the change · Common problems and recovery · Keep the portal useful over time What this object gives you sb.article_comments is a collection of comment rows. Each row includes an identifier, author name, comment text, an optional avatar and a creation date. The creation date is a timestamp, not a comment count, and name identifies the commenter rather than an article title.Treat comment text as untrustedThe comment value is not the same trusted, rendered body as sb.article.content. Do not insert it raw into HTML. The runtime can include line-break markup in this value without providing an equivalent HTML-sanitization guarantee. A plain-text presentation should remove markup and then escape the remaining text. Choose the correct page and customer context Use the article page for an article the visitor may access. Preserve the portal’s existing comment entry, authentication and moderation controls; this display loop does not grant permission to submit comments or change an article.Open the intended portal in Settings → Customer Portal, then choose Page templates. You need permission to administer communities or the applicable portal-edit override. Work on the existing page for this task; adding an object name to a different page does not make its records available. Keep existing forms, input names, navigation and scripts intact.Liquid is a presentation language. Expressions inside {{ ... }} print values; statements inside {% ... %} control a loop or condition. A collection must be looped through before reading an individual row. These examples are display fragments to adapt within a working template, not replacement page templates. Supported values and how to use them MemberMeaning and operational useidComment identifier.nameName of the person who created the comment. Escape as text.commentComment text with possible line-break markup. Do not trust it as arbitrary HTML.avatarOptional avatar path. Check it before rendering an image and provide an appropriate alternative.createdCreation date. Format through the supported date/localization filter when needed. Example: provide a plain-text comment list {% for feedback in sb.article_comments %} <section class="article-comment"> <p><strong>{{ feedback.name | escape }}</strong></p> <p>{{ feedback.created | ldate | escape }}</p> <p>{{ feedback.comment | strip_html | escape }}</p> </section> {% else %} <p>No comments are available for this article.</p> {% endfor %}This deliberately simple example removes markup, including HTML line-break tags. If your design needs richer formatting, keep the approved sanitizing/rendering implementation rather than dropping the escaping step. Preview with punctuation and literal angle brackets so the result remains readable. Turn feedback into a useful knowledge review A comment such as “This did not work” is a signal to investigate, not enough evidence to rewrite a procedure. The support team should identify the product/version, the step attempted, the result and what was expected. Use the article-suggestion or KCS review workflow to turn that evidence into a controlled improvement.For a recurring equipment issue, the useful correction may be a missing prerequisite or a branch for a different model. Keep account-specific details and private diagnostic material in the authorized case, rather than copying them into a customer-visible comment or example. Make and verify the change Write down the customer task this change should improve. For example, make the correct request or relevant knowledge easier to find. Decide what should appear when there is no data.Copy the current template into your approved change record before editing. Add the fragment in the correct page context without removing functional controls.Choose Save Changes to save the draft, then Design to preview it. Check a populated example and an empty or signed-out example as applicable.Inspect desktop and narrow-screen layouts. Test long customer names, long titles, missing optional values, readable links and keyboard navigation.Use Review changes → Publish when the draft is ready. A saved draft does not update the live visitor page.Open the actual portal as an intended customer and follow the full task. Verify another relevant role or customer scope where visibility differs. Record the account, page, role and outcome with the change.Preview is only part of the checkDesigner examples use synthetic data. They can show layout and syntax problems, but do not prove that a real customer has access to a record. Keep portal access rules and the actual customer test separate from visual preview. Common problems and recovery ProblemWhat to checkThe author name is mistaken for a titleUse name as the commenter’s name; the old description calling it a title was inaccurate.HTML or script-like text is displayed or executedDo not render comment raw. Use safe plain-text output or the approved sanitizing renderer.Formatting is flattenedThe plain-text example strips markup. This is expected; preserve the safe renderer if richer formatting is needed.No comment-entry form appearsThis object supplies displayed rows. Submission controls and their permissions belong to the existing portal page behavior.The template renders in preview but the live page has not changedConfirm that you published the reviewed draft for the correct portal, page and language. Reopen the live page.A customer sees fewer records than an agentCheck the customer’s portal role, company/contact relationship and the record’s audience. Do not attempt to broaden access by changing a Liquid loop.A layout change breaks a form or navigationCompare the changed template with the saved working version. Restore missing form IDs, inputs, URL patterns or callbacks before publishing the corrected draft. Keep the portal useful over time Assign ownership for reviewing meaningful feedback. A well-presented comment list helps discovery of problems, but only a reviewed article update makes the instructions clearer for the next customer.Use clear labels and meaningful empty states. Do not display a raw ID when a customer needs a descriptive name, and do not describe an absent value as a service failure. After changes to portal roles, topic placement, custom fields or language coverage, revisit the relevant customer examples. A successful render alone does not establish that the instructions, links and customer visibility are still correct. Continue learning Plan and publish a safe Liquid portal customizationSubmit actionable article improvement suggestionsUse KCS to review and improve knowledgeConfigure the customer portal Was this article helpful? Yes No Thank you for your feedback.