Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Joomla模块:如何从XML模块文件中读取ini语言字符串?_Joomla_Joomla1.5_Joomla Extensions - Fatal编程技术网

Joomla模块:如何从XML模块文件中读取ini语言字符串?

Joomla模块:如何从XML模块文件中读取ini语言字符串?,joomla,joomla1.5,joomla-extensions,Joomla,Joomla1.5,Joomla Extensions,mod_modulo.xml文件: <?xml version="1.0" encoding="utf-8"?> <install type="module" version="1.5.0"> <name>**EXTNAME**</name> <description>**EXTDESCR**</description> <files> . . . <

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>
我在用Joomla!1.5开发模块,因为我认为较新版本的Joomla与较旧的模块兼容。无论如何,问题是:如何将mod_module.xml中的name和description的值设置为相应语言文件中的字符串?

试试这个

在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>
在您的default.php文件中有

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

希望对您有所帮助。

Joomla 1.5的组件安装清单定义包含一节管理员界面语言文件:

。。。
en-GB/en-GB.com_my.ini
es/es-es.com_my.ini
...
但是,此规范不适用于该版本中的模块

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

这就是为什么我不确定未能将语言文件复制到管理部分的文件夹是一个bug还是设计造成的。在卸载过程中删除它们表明这确实是一个bug

乔姆拉!v1.5模块安装由
库/joomla/installer/adapters/module/php
执行

此文件在安装过程中未访问此节点,但在卸载过程中删除了此节点。它将删除此节点:

$this->parent->removeFiles($root->getElementByPath('administration/languages'),1);
你能做什么?

2.5和3.x中的遗留软件包支持需要折衷。我个人建议不要这样做,因为这会破坏你的设计

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

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


希望所有这些都能说服你(以及任何阅读本文的人)改用当前的Joomla!版本。

不要使用Joomla 1.5标准来开发。Joomla 1.5很旧,不受支持,人们应该离开它,语言文件也会发生变化。当从PHP调用代码时,您检索字符串,而不是清单XMLSo,换句话说,J1.5 XML清单文件不可国际化?
EXTNAME="Mi modulo"
EXTDESCR="Descripcion de mi modulo va aqui"
echo "Name :".JText::_('EXTNAME');
echo "Description:".JText::_('EXTDESCR');