Download the PHP package tomvondracek/bolt-discussion without Composer

On this page you can find all versions of the php package tomvondracek/bolt-discussion. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package bolt-discussion

Bolt Discussion

A pluggable, themeable discussion / comments module for Bolt CMS 6.

Requirements

Installation

  1. Require the package (published, or as a local Composer path repository):

  2. Build the frontend assets (shipped source builds to public/build/):

  3. Register the entity mapping. Extensions aren't bundles, so add this under doctrine.orm.mappings in your project's config/packages/doctrine.yaml:

  4. Copy routes/services and create the tables:

Usage

Place a discussion anywhere in a frontend template. The reference is any string that scopes an independent thread:

Per-instance copy

The second argument is an options map, so each discussion can carry its own composer text (handy when one page hosts several). Each option falls back to the translated default, and you translate it yourself — pass a literal, or your own |trans call:

Option Overrides
title Heading above the thread
namePlaceholder The name field placeholder
commentPlaceholder The comment box placeholder
replyPlaceholder The reply box placeholder
submitLabel The post-comment button label

The extension injects its CSS/JS only on pages that actually contain a mount. The initial comment page and composer are rendered during the PHP request, so the widget has its final layout before JavaScript runs. JavaScript hydrates that markup and is then used only for interactions, older pages, and live polling.

Configuration

Edit config/extensions/boltdiscussion.yaml (created on first run):

Key Default Description
moderation auto auto publishes immediately; queue holds anonymous comments as pending (logged-in users always auto-publish)
poll_interval 10000 Polling interval in ms; 0 disables polling
page_size 10 Root comments per page (newest first); "Load more" reveals older ones. Clamped to 1..100
reactions_enabled true Toggle reactions
reactions ['👍','❤️','😂','🎉','😮'] Allowed reaction emoji
replies_enabled true Toggle one-level replies
max_length 2000 Max comment length
require_name true Require a name from anonymous posters
spam_regex '' If set, matching bodies are stored as spam
rate_limit_seconds 10 Min seconds between anonymous posts from one IP; 0 disables (logged-in users are never throttled)

Theming

The widget is designed to be re-skinned without touching the extension. Every visual value resolves to a --bd-* custom property declared on .bolt-discussion, covering colour, type, radii, spacing, shadow, the per-author avatars, and the reply-thread connector. There are two ways to customize:

1. Re-declare variables (the usual path) — map them onto your design tokens:

(The doubled .bolt-discussion selector raises specificity so your overrides win regardless of stylesheet load order.)

2. Override BEM classes for structural or typographic flourishes, e.g.:

See the rockfest theme (public/theme/rockfest/css/discussion-theme.css) for a complete "gig-poster" example combining both. You can also override templates/mount.html.twig by placing a same-named template in your active theme.

Built-in UX

Modern thread UI out of the box: top composer with an auto-growing field, colour-coded initial avatars, locale-aware relative timestamps (Intl.RelativeTimeFormat), reaction chips with a emoji picker, and collapsible reply threads with a connector line. Respects prefers-reduced-motion and ships visible keyboard focus.

Returning visitors

Anonymous visitors are remembered across visits without any login:

All of this is per-browser and needs no personal data or account.

Admin

A Discussion entry appears in the Bolt admin sidebar (/bolt/extension/discussion), listing discussions grouped by reference with per-thread approve / delete / mark-spam.

Translations

All user-facing text (frontend widget, validation/API errors, and the admin screens) is translated via the bolt_discussion translation domain. Catalogs ship for English, Czech, German, Polish and Dutch in translations/ (bolt_discussion.<locale>.yaml), using the English source string as the key.

extensions:configure registers the path automatically (it copies framework.translator.paths into config/packages/extension_bolt-discussion.yaml). Frontend JS strings are translated server-side and passed to the widget via a data-i18n attribute. To add a locale, drop a bolt_discussion.<locale>.yaml file in translations/ and clear the cache.


All versions of bolt-discussion with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
twig/twig Version ^3.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package tomvondracek/bolt-discussion contains the following files

Loading the files please wait ...