質問: new jregistry(); $params->loadstring($module->params); ?> .main-menu-bar { background-color: <?php if($params->get('entiremenubgcolor') != "") { echo "".$params->get('entiremenubgcolor').""; } ?>; <?php if($params->get('backgroundimage') != "-1") { echo "background-image: url('". juri::root(false, "")."images/menu/".$params->get('backgroundimage').";"; } ?> background-repeat: repeat-x; <?php if($params->get('font-style') != "-1") { echo $params->get('font-style'); } else { echo "normal"; } ?>; <?php if($params->get('font-family') != "") { echo "font-family: ".$params->get('font-family').""; } ?> } ものは、古いバージョンのモジュールで動作するために使用されたコードです。私は何を間違っているのですか、どうすれば適切に定義できますか?
回答: あなたはこれについて完全に間違った方法で行ってきました。スタイリングに使用するファイルのjoomla apiをインポートする必要はありません。パラメータに基づくすべてのスタイリングはdefault.phpファイルに入力する必要があり、保守が10倍簡単になります。このファイルでは、joomlaのaddstyledeclaration()関数を最大限に活用できます。したがって、ステップ1で、別のphpファイルを完全に削除します。それを破棄し、決して振り返ってはなりません。ステップ2 default.phpファイルがある場合(作成していない場合)、次を追加します。$doc = jfactory::getdocument(); $css = ' .main-menu-bar { background-color: ' . $params->get("entiremenubgcolor", "default_value") . '; background-image: url(' juri::root() . 'images/menu/' . $params->get("backgroundimage", "default_value") . ') ; background-repeat: repeat-x; font-style: ' . $params->get("font-style", "default_value") . '; font-family: ' . $params->get("font-family", "default_value") . '; } '; $doc->addstyledeclaration($css); default_valueに追加しましたが、これは置き換えることができます。パラメータの値がない場合、これはデフォルト値を設定します。ご覧のとおり、ニースのコーディング方法は多く、はるかに小さく、apiをインポートする必要がないため、ページの読み込み速度が低下します。お役に立てれば