heimrichhannot/contao-watchlist-bundle

此实用程序包为Contao CMS提供灵活的观察列表。


README

此实用程序包为Contao CMS提供灵活的观察列表。

功能

  • 将文件或任意Contao数据库实体(如 tl_newstl_member)添加到观察列表
  • 观察列表也可以在Contao后端查看
  • 提供流畅使用的Ajax处理(数据始终保持最新)
  • 将观察列表集成与将前端模块分配到布局部分并使用插入标签添加链接一样简单
  • 将观察列表中添加的文件作为ZIP存档下载
  • 包含无CSS样式的清洁模板和准备好的使用Bootstrap 5 CSS类的模板
  • 通过链接(甚至公开)共享观察列表并复制到剪贴板

印象

Watch list in frontend

前端中的观察列表(此处:带模态集成的Bootstrap 5模板)

安装 & 配置

  1. 运行 composer require heimrichhannot/contao-watchlist-bundle 并更新您的数据库。
  2. 创建观察列表配置(如有必要,选择Bootstrap 5模板)。
  3. 重要:将观察列表配置分配给您的根页面。
  4. 创建类型为 watchlist 的前端模块并将其添加到您网站的布局区域,以便它出现在每个子页面中。如有必要,选择Bootstrap 5自定义模板。
  5. 确定您想要集成的链接的模板。常见情况包括
    1. ce_download.html5
    2. ce_downloads.html5
    3. news_full.html5
    4. ...
  6. 通过使用插入标签或WatchlistLinkGenerator服务将添加当前观察列表项的链接集成到任何模板中。

项目类型

在本文档的上下文中,观察列表可以有多种项目类型

  1. 文件:Contao文件管理器中的任何文件
  2. 实体:任何数据库记录(也称为“实体”),例如 tl_newstl_member -> 目前无法下载

共享观察列表

  1. 执行“安装 & 配置”中提到的步骤。
  2. 为共享观察列表创建目标页面。
  3. 在观察列表配置中激活共享功能。
  4. 为共享页面创建列表模块。您有两个选项
    1. 对于更简单的需求和使用文件观察列表:创建一个类型为“watchlist_share_list”的前端模块。此模块满足简单需求。图像观察列表项可下载,实体项可通过链接访问。
    2. 对于更复杂的需求(如内部区域、筛选等):使用 heimrichhannot/contao-list-bundle 创建一个列表和一个使用 heimrichhannot/contao-reader-bundle 的读取器。
      1. 在列表和读取器配置中激活 actAsWatchlistShareTarget 选项。

      2. 确保列表项模板中的 detailsUrl 包含 watchlist GET参数。例如,您可以为 detailsUrl 创建一个块,扩展默认模板并重写 detailsUrl

        {% block detailsUrl %}
        {{ detailsUrl }}?watchlist={{ app.request.get('watchlist') }}
        {% endblock %}
  5. 将上一步中创建的模块放置在第二步中创建的页面上。

权限处理

观察列表对其所有者是私有的。所有者是谁取决于观察列表使用的上下文

提示:由于当前无法将观察列表从会话传输到成员,考虑在登录后显示观察列表。如果您没有前端登录情况,当然可以忽略。

插入标签

以下是一些新的插入标签,它们考虑了翻译后的跳转URL和别名。

开发者

WatchlistLinkGenerator

将“添加到观察列表”按钮添加到您的代码中

use Contao\Template;
use HeimrichHannot\WatchlistBundle\Generator\WatchlistLinkGenerator;

function templateListener(Template $template, WatchlistLinkGenerator $linkGenerator) {
    $template->addButton = $linkGenerator->generateAddFileLink($template->singleSrc, $template->fileTitle);
}

Symfony事件

JavaScript事件