clawrock / magento2-twig-engine
Magento 2 Twig 模板引擎
1.0.0
2019-01-07 01:39 UTC
Requires
- magento/framework: ~101.0|~102.0
- magento/module-store: ~100.2|~101.0
- twig/twig: ^2.6
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^6.5
- sebastian/phpcpd: ^3.0
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2024-09-08 19:16:36 UTC
README
Magento 2 - Twig 模板引擎
实现 Twig 作为 Magento 2 模板引擎的模块。它可以将默认的 .phtml 模板作为后备。
安装
- 通过 composer 安装模块
composer require clawrock/magento2-twig-engine
- 注册模块
php bin/magento setup:upgrade
兼容性
- Magento 2.2 - 2.3
- PHP 7.0 - 7.2
配置
没有 system.xml
文件,因为 Twig 配置 应仅由开发者编辑。
自动解析选项
此模块可以自动查找 twig 文件。例如,如果您想在 Magento\Theme\Block\Html\Title
块中使用 twig 模板,只需将文件添加到 app/design/frontend/Vendor/theme/Magento_Theme/templates/html/title.html.twig
。如果您禁用自动解析,您将必须手动更新每个块模板。
<referenceBlock name="page.main.title" template="Magento_Theme::html/title.html.twig"/>
自动解析选项与 Magento 2 模板解析器的工作方式相同。例如,如果您的主题是 Luma,模板是 Magento_Theme::html/title.phtml
,它将按照以下顺序检查可能路径,直到找到第一个存在的文件
vendor/magento/theme-frontend-luma/Magento_Theme/templates/html/title.html.twig
vendor/magento/theme-frontend-luma/Magento_Theme/templates/html/title.twig
vendor/magento/theme-frontend-luma/Magento_Theme/templates/html/title.phtml
vendor/magento/theme-frontend-blank/Magento_Theme/templates/html/title.html.twig
vendor/magento/theme-frontend-blank/Magento_Theme/templates/html/title.twig
vendor/magento/theme-frontend-blank/Magento_Theme/templates/html/title.phtml
vendor/magento/module-theme/view/frontend/templates/html/title.html.twig
vendor/magento/module-theme/view/frontend/templates/html/title.twig
vendor/magento/module-theme/view/frontend/templates/html/title.phtml
扩展
环境选项覆盖
XML
创建依赖于 ClawRock_TwigEngine 的模块并覆盖 config.xml 中的值
程序化
为 EnvironmentFactory 创建一个前置插件并修改 $options 参数。
创建新的 Twig 扩展
创建扩展类,扩展 AbstractExtension 或实现 ExtensionInterface,并通过 etc/twig.xml
注册它。
示例: ClawRock\TwigEngine\Twig\Extension\MagentoExtension
重要! 您可以在 Twig 扩展中使用 Magento DI。