質問: json_decode($results); var_dump($params); これはうまく機能し、すべての変数をcssに取り込みます。リストアイテムに使用されていたすべてのテキストが表示されなくなりました。つまり、スタイルは適切ですが、スタイル付きアイテムにあるはずのテキストが消えています。何が悪いのでしょうか?追加すると、スタイリングは次のように行われます。.menu { line-height: 1.0; <?php // width if($params->menuwidth != "") { echo "width: ".$params->gmenuwidth."px;"; } ?> <?php // height if($params->menuheight != "") { echo "height: ".$params->menuheight."px;"; } ?> <?php //margin top & margin left if($params->menumarginleft != "") { echo "margin-left: ".$params->menumarginleft."px; "; } if($params->menumargintop != "") { echo "margin-top: ".$params->menumargintop."px; "; } ?> }
回答: phpファイルにcssを追加するだけでは機能しません。たとえば、以下は[〜#〜] not [〜#〜]で機能します。_<?php .menu { font-size: 12px; } ?> _私は以前の回答でaddstyledeclaration()の使用方法を説明しました。私はあなたがどれが素晴らしいかを学ぼうとしているのを知っていますが、誰かが方法を勧めたとき、それを無視しないでください;)したがって、最初に、すべてのコードを削除し、以下を追加します。_$doc = jfactory::getdocument(); $css = '.menu { line-height: 1.0; }'; if($params->menuwidth != '') { $css .= '.menu { width: ' . $params->gmenuwidth . 'px; }'; } if($params->menuheight != '') { $css .= '.menu { height: ' . $params->menuheight . 'px; }'; } if($params->menumarginleft != '') { $css .= '.menu { margin-left: ' . $params->menumarginleft . 'px; }'; } if($params->menumargintop != '') { $css .= '.menu { margin-top: ' . $params->menumargintop . 'px; }'; } $doc->addstyledeclaration($css); _上記の最初の_$css_がそのまま表示されます。ただし、ifステートメント内の他のものは、_._記号の前に_=_があります。つまり、相互に影響を与えることなく、変数名を複数回使用できます。最後に、変数/パラメータに基づいて値を持つcssを追加するには、このメソッドに固執し、しないでください他のメソッドを使用します。お役に立てれば