私が取り組んでいるプロジェクトの一環として、moodleのサイト管理メニューに新しい機能を追加しようとしています。現在、お客様はOnePayゲートウェイをmoodleに統合するだけで済みます。しかし、将来(PayPalのような)他の支払いゲートウェイの統合も必要になるかもしれません。だから私は、ウェブサイト管理者だけでさまざまなタイプの支払いを入力するためのカテゴリを作成する必要があります。新しいカテゴリは、「高度な機能」メニュー(次のスクリーンショットのようなもの)「設定」ページでサイト管理メニューに新しいカテゴリとカスタムページを追加します
Example for onepay integration
のどこかにあるべき入力にそのサイトの管理者は、必要なすべてのページです支払い情報(顧客のカード番号、アクセスコードなどを含む)。今、私は国内外の支払いのために2つのテストページを使ってテストしています。ここで
は、ファイル/lang/en/admin.phpで私のコードです:$string['payment'] = 'Payment';
$string['onepay'] = 'OnePay';
$string['test_onepay_domestic'] = 'Test Domestic Payment using OnePay';
$string['test_onepay_international'] = 'Test International Payment using OnePay';
admin_customディレクトリには、私はこのようなパスを作成/支払い/ onepay /テスト/とに2つの私のテストページを追加それ。 folder/payment /にmenu.phpという名前のファイルを追加しました。ここに私のコードがあります。
<?php
$ADMIN->add('advancedfeatures', new admin_category('payment', get_string('payment', 'admin')));
$ADMIN->add('payment', new admin_category('payment', get_string('onepay', 'admin')));
//$domestic = new admin_settingpage('onepay', new lang_string('test_onepay_domestic', 'admin'), new moodle_url("/admin_custom/payment/onepay/test/domestic/index.php"));
//$international = new admin_settingpage('onepay', new lang_string('test_onepay_international', 'admin'), new moodle_url("/admin_custom/payment/onepay/test/international/index.php"));
$domestic = new admin_externalpage('test_onepay_domestic', get_string('test_onepay_domestic'), "$CFG->wwwroot/admin_custom/payment/onepay/test/domestic/index.php");
$international = new admin_externalpage('test_onepay_international', get_string('test_onepay_international'), "$CFG->wwwroot/admin_custom/payment/onepay/test/international/index.php");
$ADMIN->add('onepay', $domestic);
$ADMIN->add('onepay', $international);
私は両方のファイルで、ファイルmenu.phpを含めることを試みてきた
- /admin/settings/top.php
- /admin/settings/server.php
しかし、これらの作品のどれも。誰でもこの作品を手にするために何をすべきか教えてください。どうもありがとうございました。私は本当にそれを感謝します。
ご返信ありがとうございます。それは良い(私は十分な15評判ポイントがないため、あなたのために投票することはできません申し訳ありません)と聞こえる。これが私にこの仕事を完了させるのに役立つかどうかがわかります。問題は私の会社のクライアントがサイト管理メニューからmoodleに完全かつ恒久的に統合されたその機能を求めていることです。 – Anthony
Moodleの標準プラグインシステムを使用すると、サイト管理メニューに機能を永続的に統合することができます。メニュー機能の多くは、コアコードにバンドルされたばかりのプラグインです。 – davosmith