我有一个自定义 HTML 模块,它现在以一种语言显示信息,但我想让它成为多语言。我不想用 6 种不同的语言重新创建相同的模块,那么有没有办法让 1 个带有语言常量的单个模块?
我试过查找语言覆盖,但在这种情况下不起作用,因为该模块将删除所有 PHP。更不用说,我什至不知道将语言常量放在哪里。
我有一个自定义 HTML 模块,它现在以一种语言显示信息,但我想让它成为多语言。我不想用 6 种不同的语言重新创建相同的模块,那么有没有办法让 1 个带有语言常量的单个模块?
我试过查找语言覆盖,但在这种情况下不起作用,因为该模块将删除所有 PHP。更不用说,我什至不知道将语言常量放在哪里。
我终于找到了答案。首先,您需要下载 Sourcerer 插件。这使您可以在文章、模块等中使用 PHP。接下来,您可以转到templates/your_template/html/modules.php
并更改显示标题的行。可能有几个,每个模板都不同,但这就是我的样子。
<?php if ($module->showtitle != 0) : ?>
<div class="module-title">
<h2 class="title"><?php echo $module->title; ?></h2>
</div>
更改$module->title
为JText::_($module->title);
然后,转到模块并将标题更改为语言常量(例如 SEARCH_SITE)。对于自定义输出,您必须输入以下内容:
{source}<?php echo JText::_('SOMETHING_DESCRIPTIVE');?>{/source}
然后您转到语言管理器并为每种语言添加语言常量。
这种技术的唯一缺点是modules.php
每次升级 Joomla 时都会丢失更改。否则,将自定义 HTML 模块视为自定义扩展是一个很好的解决方案。