Download the PHP package heimrichhannot/contao-watchlist-bundle without Composer
On this page you can find all versions of the php package heimrichhannot/contao-watchlist-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download heimrichhannot/contao-watchlist-bundle
More information about heimrichhannot/contao-watchlist-bundle
Files in heimrichhannot/contao-watchlist-bundle
Package contao-watchlist-bundle
Short Description This utility bundle offers a flexible watchlist for the Contao CMS.
License LGPL-3.0-or-later
Homepage https://github.com/heimrichhannot/contao-watchlist-bundle
Informations about the package contao-watchlist-bundle
Contao Watchlist Bundle
This utility bundle offers a flexible watch list for the Contao CMS.
Features
- add files or arbitrary contao database entities like
tl_news
ortl_member
to a watch list - watch lists can be viewed in the contao backend, as well
- ajax handling for a fluent usage (data is always kept up-to-date)
- integrating the watch list is as easy as assigning a frontend module to a layout section and adding links by using insert tags
- download the files added to a watch list as a ZIP archive
- contains clean templates without css styling and templates prepared with bootstrap 5 css classes
- share watch lists via link (also to public) and copy to clipboard
Impressions
Watch list in frontend (here: bootstrap 5 template with modal integration)
Installation & configuration
- Run
composer require heimrichhannot/contao-watchlist-bundle
and update your database. - Create a watch list config (select bootstrap 5 templates if applicable).
- Important: Assign the watch list config to your root page.
- Create a frontend module of type
watchlist
and add it to a layout area of your website so that it comes with each and every sub page. Select bootstrap 5 custom template if needed. - Identify the template you'd like to integrate a link for adding this item to the watch list. Common situations are:
ce_download.html5
ce_downloads.html5
news_full.html5
- ...
- Integrate the link for adding an item to the current watch list to any template by using inserttag or WatchlistLinkGenerator service.
Item types
A watch list in the context of this bundle can have multiple types of items:
File
: Any file in the contao file managerEntity
: Any database record (aka "entity"), e.g.tl_news
,tl_member
-> downloads aren't possible at the moment
Sharing watch lists
- Do the steps mentioned in "Installation & configuration"
- Create a target page for shared watch lists.
- In your watch list config activate the sharing feature.
-
Create the list module for the share page. You have 2 options:
- For simpler needs and file-only watch lists: Create a frontend module of the type "watchlist_share_list". This module fulfills simple needs. Image watch list items are downloadable, entity items are reachable by link.
- For more complex needs (like internal areas, filtering, ...): Create a list
using heimrichhannot/contao-list-bundle and a reader
using heimrichhannot/contao-reader-bundle.
- Activate the option
actAsWatchlistShareTarget
in the list and reader configs. - Make sure, the
detailsUrl
in the list item template contains thewatchlist
GET parameter. For example, you could create a block for thedetailsUrl
, extend your default template and override thedetailsUrl
:
- Activate the option
- Place the module created in the previous step on the page created in the second page.
Permission handling
A watch list is private to its owner. Who is the owner depends on the context, the watch list is used in:
Context | Who is the watch list's owner? |
---|---|
Anonymous | The current PHP session ID is used as the author |
Frontend login available | The current frontend user (member ) is used as the author |
Hint: As watch lists are currently not transferable from session to member, consider showing the watch list only after login. If you have no frontend login situation, you can ignore that, of course.
Insert tags
The following new insert tags are available. These take into account the translated jumpTo url and alias.
Name | Example |
---|---|
{{watchlist_add_item_link::file::<file uuid (string)>::<optional: title>::<optional: watch list uuid>}} |
{{watchlist_add_item_link::file::2e6b6f54-e4af-11eb-b4fc-001e678385c6}} |
{{watchlist_add_item_link::entity::<entity table>::<entity id>::<title>::<optional: entity url>::<optional: preview file uuid (string)>::<optional: watch list uuid>}} |
{{watchlist_add_item_link::entity::tl_news::1::My headline::https://example.org/my-entity::2e6b6f54-e4af-11eb-b4fc-001e678385c6}} |
Developers
WatchlistLinkGenerator
Add the "Add to watchlist" button from your code:
Symfony Events
Event | Description |
---|---|
WatchlistItemDataEvent | Modify the watchlist item before output to the watchlist module. |
JavaScript events
Event | Description |
---|---|
huh_watchlist_list_updated | Is dispatched after the watchlist content is updated. |
All versions of contao-watchlist-bundle with dependencies
ext-zip Version *
ext-json Version *
contao/core-bundle Version ^4.9
doctrine/dbal Version ^2.10 || ^3.0
heimrichhannot/contao-encore-contracts Version ^1.0
heimrichhannot/contao-utils-bundle Version ^2.199
heimrichhannot/contao-inserttagcollection-bundle Version ^1.1
heimrichhannot/contao-twig-support-bundle Version ^1.6
symfony/config Version ^4.4 || ^5.4
symfony/dependency-injection Version ^4.4 || ^5.4
symfony/event-dispatcher-contracts Version ^1.0 || ^2.0 || ^3.0
symfony/http-foundation Version ^4.4 || ^5.4
symfony/http-kernel Version ^4.4 || ^5.4
symfony/routing Version ^4.4 || ^5.4
symfony/translation-contracts Version ^1.0 || ^2.0 || ^3.0