0

mod_modulo.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
    <name>**EXTNAME**</name> 
    <description>**EXTDESCR**</description>
    <files>
    .
    .
    .
    </files> 
    <languages>
        <language tag="en-US">languages/en-US.mod_modulo.ini</language>
        <language tag="es-ES">languages/es-ES.mod_modulo.ini</language>
    </languages>
</install>

es-ES.mod_modulo.xml:

EXTNAME=Mi modulo
EXTDESCR=Descripcion de mi modulo va aqui

我正在使用 Joomla!1.5 开发模块,因为我认为新版本的 Joomla 与旧模块兼容。无论如何,问题是:如何将mod_module.xml 中的namedescription的值设置为相应语言文件中的字符串?

4

2 回答 2

1

Joomla 1.5 的组件安装清单定义包括管理员界面语言文件的部分:

...
<administration>
    <languages folder="administrator/language/">
        <language tag="en-GB">en-GB/en-GB.com_my.ini</language>
        <language tag="es-ES">es-ES/es-ES.com_my.ini</language>
    </languages>
</administration>
...

但是,此规范不适用于该版本中的模块。

不再提供 J1.5 清单文件使用的 Document 类型定义。

这就是为什么我不确定无法将语言文件复制到管理部分的文件夹是错误还是设计使然。在卸载过程中删除它们表明它确实是一个错误。

Joomla!v1.5 模块安装由libraries/joomla/installer/adapters/module/php.

此文件在安装期间未访问此节点,但在卸载期间将其删除,它将删除它:

$this->parent->removeFiles($root->getElementByPath('administration/languages'), 1);

你能做什么?

2.5 和 3.x 中的旧包支持需要妥协。我个人建议不要这样做,因为它会削弱您的设计。

因此,您可以编写一个 Joomla!2.5+ 模块,或者您可以尝试破解此问题,这并不漂亮。模块没有安装脚本,因此您甚至无法在模块安装过程中复制语言文件。

首先想到的是在第一次调用控制器时将语言文件复制到管理员文件夹。

希望所有这些都可以说服您(以及阅读这篇文章的任何人)切换到当前的 Joomla!版本。

于 2013-08-23T13:16:51.183 回答
0

尝试这个,

在你的 xml 文件中

<languages>
    <language tag="en-US">languages/en-US.mod_modulo.ini</language>
    <language tag="es-ES">languages/es-ES.mod_modulo.ini</language>
</languages>

在你的 mod_modulo.ini 文件中

EXTNAME="Mi modulo"
EXTDESCR="Descripcion de mi modulo va aqui"

在你的 default.php 文件中有。

echo "Name :".JText::_('EXTNAME');
echo "Description:".JText::_('EXTDESCR');

希望它对你有帮助..

于 2013-08-23T02:50:15.327 回答