oneup / contao-language-dependent-modules-bundle
配置您的 Contao 模块的语言依赖,并减少页面布局!
1.2.0
2022-09-12 14:32 UTC
Requires
- php: ^7.4 | ^8.0
- contao/core-bundle: ^4.9
- doctrine/dbal: ^2.13 || ^3.0
Requires (Dev)
- contao/manager-plugin: ^2.0
- contao/news-bundle: ^4.9
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/phpstan: ^1.0
- phpstan/phpstan-doctrine: ^1.0
- phpstan/phpstan-symfony: ^1.0
- phpunit/phpunit: ^9.5
README
这个 Contao 扩展包提供了一个特殊的模块,您可以基于可用的语言配置您的模块。
这个扩展包是为 Contao 4.9 及更高版本制作的。
为什么选择这个扩展包?
想法是消除多语言的多重页面布局(或模块 ID 与 {{iflng::*}}
标签组合的插入标签)。
用法
然后此模块将为每个配置的语言渲染配置的模块。
开发者
该扩展包为您自己的代码提供了一个额外的输入类型来使用。
使用默认配置(加载所有可用的模块)
<?php // config/dca/tl_modules.php $GLOBALS['TL_DCA']['tl_module']['fields'] += [ 'myLanguageDependentModules' => [ 'inputType' => 'languageDependentModulesSurrogate', 'eval' => [ 'tl_class' => 'w50', ], 'sql' => 'blob NULL', ], ];
还有更多,您可以根据需要自定义此小部件。
使用 options
(用于自定义模块列表)
<?php // config/dca/tl_modules.php $GLOBALS['TL_DCA']['tl_module']['fields'] += [ 'myLanguageDependentModules' => [ 'inputType' => 'languageDependentModulesSurrogate', 'options' => [ 0 => 'My module 0', 1 => 'My module 1', ], 'eval' => [ 'tl_class' => 'w50', ], 'sql' => 'blob NULL', ], ];
使用 options_callback
(用于自定义模块列表)
<?php // config/dca/tl_modules.php $GLOBALS['TL_DCA']['tl_module']['fields'] += [ 'myLanguageDependentModules' => [ 'inputType' => 'languageDependentModulesSurrogate', 'options_callback' => ['my.service_id', 'methodName'], 'eval' => [ 'tl_class' => 'w50', ], 'sql' => 'blob NULL', ], ]; // you can also use this with service tagging, see https://docs.contao.org/dev/framework/dca/#registering-callbacks
使用 eval['modules']
(用于过滤自定义类型)
<?php // config/dca/tl_modules.php $GLOBALS['TL_DCA']['tl_module']['fields'] += [ 'myLanguageDependentModules' => [ 'inputType' => 'languageDependentModulesSurrogate', 'eval' => [ 'tl_class' => 'w50', 'modules' => [ 'navigation', 'customnav', 'search', 'html', 'myCustomModule', ], ], 'sql' => 'blob NULL', ], ];
更改空白选项的标签:
<?php // config/dca/tl_modules.php $GLOBALS['TL_DCA']['tl_module']['fields'] += [ 'myLanguageDependentModules' => [ 'inputType' => 'languageDependentModulesSurrogate', 'eval' => [ 'tl_class' => 'w50', 'blankOptionLabel' => 'My Label' ], 'sql' => 'blob NULL', ], ];
注意:如果您只想更改默认字段的空白选项的标签,则键为:tl_module.languageDependentModulesBlankOptionLabel
。