モジュールのタイトルを隠そうとしています。
管理設定を変更しましたが、タイトルがまだフロントエンドに表示されています。データベースでは、showtitle
フィールドはに設定されてい0
ます。
モジュールのタイトルを隠そうとしています。
管理設定を変更しましたが、タイトルがまだフロントエンドに表示されています。データベースでは、showtitle
フィールドはに設定されてい0
ます。
回答:
これをチェックして:
joomlaroot / templates / yourtemplate / html / modules.php
次のようなものを検索します:
if($module->showtitle){echo $module->title;}
のみが存在しecho $module->title;
なくてif($module->showtitle){}
、これはおそらくsoultionある場合。
特定のモジュール、および特定のテンプレートの特定の位置でこれを経験しました。それはほぼ確実に、a)「showtitle」パラメーターを無視するモジュール、またはそれを誤ってチェックすること、またはb)テンプレート/テンプレートフレームワークがタイトルを引き出さないことのいずれかです。たとえば、YooTheme(独自のモジュールレンダリングチェーンを持つ人気のあるテーマプロバイダー)が使用するWarpフレームワークでは、「ロゴ」の位置はモジュールタイトルをレンダリングしません(モジュールタイトルが不要だと推測されるため)。ロゴ画像の上に表示されます)。
テンプレートとモジュールで質問を更新すると、調査が容易になります。
それは、それがどのモジュールであり、どのようにレンダリングされるかによって異なります。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> ';
コアバージョンではこれが当てはまらない理由は私を超えていますが、それはオープンソースなので、自分で変更できると思います...
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)
予期しない結果につながる可能性がある