質問: jmodulehelper::_load();の行でハングします。これらの同じコードをモジュールのメインphpファイルに配置してテストすると、 、物事はうまくいきます。では、なぜその行の後にさらに進んでいないのですか?代替案はありますか?
回答: ヘルパークラスのモジュールパラメータを取得するためにjmodulehelperを使用する必要はありません。すべてのモジュールインスタンスが適切に作成され、パラメーターの使用のためにコンテキスト変数$ paramsが割り当てられます。たとえば、mod_exampleは$ paramsを初期化しているため、ヘルパークラスを呼び出して$ params全体または特定の変数を送信できます。たとえば、mod_menはこのように機能し、レイアウトパラメータをヘルパークラスmodmenuhelperに送信します。// no direct access defined('_jexec') or die; // include the syndicate functions only once require_once dirname(__file__).'/helper.php'; $list = modmenuhelper::getlist($params); $app = jfactory::getapplication(); $menu = $app->getmenu(); $active = $menu->getactive(); $active_id = isset($active) ? $active->id : $menu->getdefault()->id; $path = isset($active) ? $active->tree : array(); $showall = $params->get('showallchildren'); $class_sfx = htmlspecialchars($params->get('class_sfx')); if(count($list)) { require jmodulehelper::getlayoutpath('mod_menu', $params->get('layout', 'default')); }