2011-09-01 15 views
6

私はJoomlaのログインフォームのテキストをどのように変更できるのだろうかと思っていました。たとえば :Joomlaでどのようにログインフォームを変更しますか?

ユーザー名からUsrの、 には、パスワードするには、pwd、 や他のテキストからも。

多分この質問は以前に聞かれましたが、何も見つかりませんでした。

誰でもこれを行う方法を知っていますか?

+0

どのJoomlaのバージョンですか? – udjamaflip

+0

私はJoomla 1.7を使用しています。 – CrazyMPh

答えて

10

が、それは優雅にアップグレードからテンプレートへの変更を処理していないだろう、とあなたはそれが直接、新しい文字列を入れ想定テンプレート内で - 多言語を簡単に許可しません。

正しい方法は、(adjamaflipのように)言語ファイルを使用することです。

Joomlaのメインログインページは 'com_users'コンポーネントを介していますが、hbitで 'mod_login'モジュールもあります。このプロセスはどちらの場合でも動作しますが、オーバーライドするファイルと文字列が少しだけ異なります(両方をオーバーライドすることをお勧めします)。

あなたが任意のコンポーネントまたはモジュールのためのテンプレートを見れば、あなたは彼らがそうのようなコードセクションを持って表示されます:

<?php echo JText::_('MOD_LOGIN_VALUE_USERNAME') ?> 
<?php echo JText::_('COM_USERS_LOGIN_USERNAME_LABEL') ?> 

これは基本的に「ここWHATEVERSTRINGのための翻訳されたテキストを挿入」と言っています。この翻訳されたテキストは適切な言語ファイルに保存され、 'com_users'コンポーネントなどの '/language/LANG/LANG.com_users.ini'に格納されます。LANGはデフォルトで 'en-GB'です。 「/language/en-GB/en-GB.com_users.ini」であなたのような行見つける:今

COM_USERS_LOGIN_USERNAME_LABEL="User Name" 

を、すぐそこにファイルをあなたでし編集。これはあなたのサイトにすぐに現れ、多言語を適切に処理します。しかし、これもやはりアップグレードがうまくいくわけではありません(Joomlaが言語ファイルを変更する新しいバージョンをリリースすれば、あなたの変更を嫌うでしょう)。

アップグレードを処理するために、Joomla 1.6で言語オーバーライドの新機能が追加されました。 '/language/overrides/LANG.override.ini'の別の上書き場所にANY言語ファイル(任意のコンポーネント/モジュール/など)の上書きを追加できます。たとえば、次の行を追加します。

COM_USERS_LOGIN_USERNAME_LABEL="Usr" 

これで、その言語文字列が上書きされました。 'MOD_LOGIN_VALUE_USERNAME'などの行を追加して、必要に応じてログインモジュールやその他の文字列を上書きします。

あなたがJoomlaをアップグレードすると、それらのログインテンプレートに変更が加えられますが、テキストの変更は失われません。あなたのサイトが提供されている言語ごとに同じプロセスを適用することができます。オーバーライドは楽しく並んでいます。これは、文字列出力のために 'JText :: _()'を使用している限り、サードパーティのコンポーネントとモジュールでも機能します。

3

これは、いわゆるテンプレートオーバーライドで行います。基本的には、フォームの出力が行われるファイルをアクティブなテンプレートのテンプレートディレクトリにコピーします。ログインフォームのためには、それは次のようにする必要があります:joomlaの[

コピー

[joomlaの] /modules/mod_login/tmpl/default.php

]/templates/[使用するテンプレート] /html/mod_login/default.php

テンプレートディレクトリに「html」ディレクトリを作成し(存在しない場合)、それを使用することが重要です。次に、新しいdefault.phpを好みの方法で編集します。この考え方は、これが悪い習慣であるため、コアファイルを編集しないということです。

ここ

は、テンプレートのオーバーライドに関する追加情報は、次のとおりです。あなたは、テンプレートのオーバーライドでこれを行うことができHow to override the output from the Joomla! core

+1

実際、この回答は完全に正しいわけではありません。ユーザーは、必要なものに対して、言語オーバーライドを使用する必要があります。 – udjamaflip

関連する問題