モジュールのタイトルを隠そうとしています。
管理設定を変更しましたが、タイトルがまだフロントエンドに表示されています。データベースでは、showtitle
フィールドが0
に設定されています。
これをチェックして:
joomlaroot/templates/yourtemplate/html/modules.php
次のようなものを検索します:
_if($module->showtitle){echo $module->title;}
_
if($module->showtitle){}
ケースなしの_echo $module->title;
_のみがある場合、これはおそらく魂の動きです。
それは、それがどのモジュールであり、どのようにレンダリングされるかによって異なります。 Joomla 3.3の検索モジュールでこの問題が発生しました。タイトルをバックエンドで非表示にしましたが、まだフロントエンドに表示されていました。タイトルを非表示にするには、「出力オーバーライド」を実行する必要がありました。 modules/mod_search/tmpl
のファイルをテンプレート(例:templates/mytemplate/html/mod_search
)にコピーし、showtitle
の値を尊重するコードを追加しました。
if($module->showtitle=="0")
$output = "";
else
$output = '<label for="mod-search-searchword" class="element-invisible">' . $label . '</label> ';
コアバージョンではこれが当てはまらない理由は私を超えていますが、私はそれがオープンソースであるため、自分で変更できると思います...
特定のモジュール、および特定のテンプレートの特定の位置でこれを経験しました。それはほぼ確実に、a)「showtitle」パラメーターを無視するモジュール、またはそれを誤ってチェックすること、またはb)テンプレート/テンプレートフレームワークがタイトルを引き出さないことのいずれかです。たとえば、YooTheme(独自のモジュールレンダリングチェーンを持つ人気のあるテーマプロバイダー)が使用するWarpフレームワークでは、「ロゴ」の位置はモジュールタイトルをレンダリングしません(モジュールタイトルが不要だと推測されるため)。ロゴ画像の上に表示されます)。
テンプレートとモジュールで質問を更新すると、調査が容易になります。
モジュールのタイトルを表示する
< jdoc:include type="modules" name="grid2-2" style="xhtml" />
Advanced
タブの下のモジュールマネージャで、Module Style
からhtml5またはxhtmlに。
各モジュールでは、モジュールマネージャーのオプションとして、タイトルを表示または非表示にできます。
注:それを構成する唯一の場所です。
値は「#__modules」の「showtitle」列に格納されています。
うまくいけば、この設定はそれをレンダリングするモジュールとテンプレートによって尊重されます。
Joomlaコアは、そのスタイルに従ってモジュールをレンダリングします。スタイルに応じたレンダリングは(administrator /)templates/$ template $/html/modules.phpにあります。
各スタイルには、modChrome_という接頭辞が付いた独自の機能があります。すべてのスタイルにタイトルのコードがあるわけではありません。
適用可能なスタイルは、テンプレートのJDOCとモジュールのオプション設定によって異なります。
一貫性のないコーディングにも気づいた:if ((bool) $module->showtitle)
対if ($module->showtitle)
対if ($module->showtitle != 0)
予期しない結果につながる可能性があります