2017-12-12 24 views
0

でユーザーメニューを追加する私は、Moodleの3.3.1バージョンでは、ユーザーメニューを追加しようとしていますが、私は、各用語「langstringname、コンポーネント名」の意味を理解する上でいくつかの問題に直面しています。どのような例で説明してもらえますか?構文のmoodle

答えて

0

Moodleの言語文字列は特定のプラグインに格納され、そのプラグイン内に識別子が与えられます。

たとえば、HTMLブロックには、 "blocks/html/lang/en/block_html.php"に格納された英語の文字列があります。このファイルには、のような行が含まれます。出力するには

$string['leaveblanktohide'] = 'leave blank to hide the title'; 

があなたのコードから(あるいはユーザー自身の言語で翻訳された同等の)「タイトルを非表示にする空白のまま」を、次のように記述します。

echo get_string('leaveblanktohide', 'block_html'); 

'leaveblanktohide'はあなたの質問で参照される 'langstringname'で、 'block_html'はあなたの質問で参照される 'componentname'です。

+0

ありがとう@davosmithそれは私を助けましたが、まだ私は少し混乱があります、どのようにこれらの値を知っていますか。私はそれのための値( "'langstringname"、 "componentname")になるよりも "プライベートファイル"のためのユーザーメニュー項目を追加したいですか?私はどのように知ることができる?チェックする場所は?あなたが私の問題を理解することを願っています前もって感謝します。 – Hemant

+0

あなたは 'langstringname'にしたいものを選ぶことができます。あなたのコード変更を保持するプラグインを作成する場合、 'componentname'はプラグインの名前と一致する必要があります(例えば、プラグインが 'myplugin'と呼ばれ、ローカルプラグイン 'local_myplugin' block_myplugin ')。あなたがコアコードを悪用している場合(悪い考え方)、lang/en/moodle.phpに入れ、 'componentname'を 'moodle'に設定する(または空白のままにする)ことができます。 – davosmith

+0

ありがとう...今私は明確にポイントを得た。 – Hemant