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 は古いモジュールと互換性があると思うので、モジュールの開発に Joomla!1.5 を使用しています。とにかく、問題は次のとおりです: 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 のマニフェスト ファイルで使用されるドキュメント タイプ定義は提供されなくなりました。

おかげで、言語ファイルを管理セクションのフォルダーにコピーできなかったのはバグなのか、それとも仕様によるものなのかわかりません。アンインストール プロセス中にそれらが削除されたことは、これが実際にバグであることを示していました。

ジュムラ!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 に答える