管理者メニュー項目のテキストを変更する必要があり、一部のメニュー項目がtitle
であり、他の項目はalias
を使用していることがわかりました。 1つはtitle
列で言語文字列を使用し、それは機能しましたが、私が試したところ、機能しませんでした。
管理者メニューがこれらの2つの列をどのように考慮するか、および言語文字列が存在する場所を誰かが説明できますか?明らかな場所を試しましたが、うまくいきませんでした-命名規則はありますか?
管理メニューは管理者モジュールです。メニュー項目には言語定数を使用します。各メニュー項目に使用する言語定数を確認するには、モジュールのテンプレートフォルダー/ administrator/modules/mod_menu/tmpl /にあるモジュールのコードを確認できます。
たとえば、次のような定数が表示されます。
MOD_MENU_CONFIGURATION
MOD_MENU_CONTROL_PANEL
MOD_MENU_CLEAR_CACHE
MOD_MENU_COM_USERS_USERS
以下のように、管理者用の言語オーバーライドを作成できます。英語の場合、次の名前のファイルを作成します。
en-GB.override.ini
管理者の言語オーバーライドフォルダに追加します。
/ administrator/language/overrides
これで、このファイルに必要に応じてオーバーライドを配置できます。例:
MOD_MENU_CONFIGURATION = "設定"
これにより、[グローバル構成]メニュー項目のタイトルが[グローバル構成]から[設定]に上書きされます。
コンポーネントメニュー項目について:オーバーライドを作成するコンポーネントの言語のフォルダーsys.ini言語ファイルを管理者に確認する必要があります。その定数を見つける。例えば。連絡先コンポーネント(com_contact)については、en-GB.com_contact.sys.iniをチェックインすると、その定数が表示されます:COM_CONTACT = "Contacts"。
次に、前に作成した言語オーバーライドファイルでCONSTANTを使用して、目的の名前を付けることができます。
別の方法として、 Extension を使用して、カスタムリンクを持つカスタム管理メニューを作成できます。私はページとアイテムごとに Admin Menu Manager (無料と有料のダウンロード)をたくさん使用しています。
管理メニューがコンポーネントメニューでどのように機能するかを完全に理解するには、モジュールのヘルパーファイル内のgetComponents
関数も調べる必要があります。最終的なコンポーネントサブメニューリストを作成するために、いくつかの条件をチェックしていることがわかります。
ヘルパーファイルのコードの一部(〜250行目):
if (!empty($component->element))
{
// Load the core file then
// Load extension-local file.
$lang->load($component->element . '.sys', JPATH_BASE, null, false, true)
|| $lang->load($component->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $component->element, null, false, true);
}
$component->text = $lang->hasKey($component->title) ? JText::_($component->title) : $component->alias;
お役に立てれば。