heimrichhannot/contao-twig-templates-bundle

此扩展将contao核心模板作为twig模板提供,并使用最新的Bootstrap框架的CSS提供额外的模板,用于Contao CMS。

安装量: 7,096

依赖项: 2

建议者: 0

安全性: 0

星标: 1

关注者: 5

分支: 0

开放问题: 2

语言:Twig

类型:contao-bundle

2.5.4 2023-12-07 09:55 UTC

README

Latest Stable Version Total Downloads

此扩展基于Twig支持扩展,用twig模板替换了大多数核心模板。此外,它还提供了一个可扩展的前端框架架构,允许在布局中选择前端框架,并自动使用自定义模板而不是核心模板。

特性

  • 用twig模板替换了各种核心模板
  • 可扩展的前端框架架构,轻松添加前端框架,无需更改contao后端的所有模板或覆盖核心模板
  • 如果设置,自动使用为前端框架准备的模板(受contao-bootstrap/templates启发)
  • 捆绑了Bootstrap 4支持,可选支持自定义表单控件

安装

通过composer安装: composer require heimrichhannot/contao-twig-templates-bundle 并更新您的数据库。

其他前端框架

可用的(已知)扩展

使用方法

非常简单:在您的页面布局配置中勾选“使用twig模板”。如果您想使用Bootstrap等前端框架,请在“使用框架”下拉菜单中选择相应的选项。这样就会进行自动映射,并根据当前的内容元素或模块,使用正确的模板。

自动映射顺序(检查模板是否存在,否则使用下一个)

  1. 前端框架twig模板
  2. 核心/自定义twig模板
  3. 默认/自定义(contao html5)模板

如果您不想使用自动映射,也可以通过在模块或内容元素的customTpl字段中选择模板来按常规方式分配您想要的模板。

额外的dca配置键

这些键可以在字段eval条目中使用

额外的twig函数

捆绑的模板

块模板

内容元素

成员元素

相册

两个版本都有最小设置。您绝对需要更改这些模板以满足您的需求。

模块

导航

搜索

开发者

事件

要在解析或渲染之前修改模板数据,请使用具有低于100优先级的twig支持扩展的事件(0是默认值,因此大多数情况下您不需要设置此值)。

添加自定义前端框架

  1. 创建一个实现HeimrichHannot\TwigTemplatesBundle\FrontendFramework\FrontendFrameworkInterfacce的类

    请阅读方法注释以了解实现方法

  2. 使用huh.contao_twig_templates.framework服务标签将您新创建的类注册为服务

  3. 对于您想要替换的每个模板,创建一个html5模板(文件名后缀与类中设置的标识符相同,例如 form_checkbox_bs4.html5),并调用模板工厂。通常,此代码可以不加修改地使用

    <?= \Contao\System::getContainer()->get('huh.utils.template')->renderTwigTemplate($this->getName(), $this->getData()); ?>
    • 如果您想设置模板特定的选项(例如Bootstrap 4自定义控件支持),可以使用$template::addSupport()。示例

       <?php 
      $template = \Contao\System::getContainer()->get('huh.twig.template.factory')->createInstance($this);
      $template->addSupport('custom-forms', true);
      echo $template->render();
      
  4. 创建一个与html5模板同名(例如 form_checkbox_bs4.html.twig)的twig模板。这是您自定义模板代码存放的地方。所有模板变量都以twig变量的形式提供。请参阅组件模板以获取一些示例。

模板变量

其他模板变量