2016-08-13 2 views
0

モジュールをある位置にレンダリングするカスタムテンプレートがあります。モジュールはデータベースへのクエリを実行し、結果に従ってレンダリングします。ただし、データベースへのクエリで空の行が返された場合は、モジュールを表示する必要はありません。Joomlaモジュールに出力があるかどうかを確認するにはどうすればいいですか?

私はテンプレートでこれを持っている:

    <!-- lo más de la semana --> 
        <?php if ($this->countModules('lo-mas') > 0): ?> 
         <div class="row"> 
          <div class="lomas"> <h3>LO MÁS DE LA SEMANA</h3></div> 
          <jdoc:include type="modules" name="lo-mas" /> 
         </div> 
        <?php endif; ?> 
        <!-- fin lo más de la semana --> 

私は「LO-MAS」の位置にいくつかのモジュールを持つことができますが、何らかの理由で、すべてのモジュールは、任意の出力、Iドンをレンダリングしていない、場合タイトルを表示したい( "LOMÁSDE LA SEMANA")

これはJoomla 3で可能ですか?

私はあなたが少しより多くのモジュールを手動で描画することにより、この問題を解決することができると思い
+0

私の答えでこの作品を作ったのですか? – jonasfh

+0

いいえ...そのコードでは、エラー500が表示されました。残念ながら、Joomlaはログに記録していないので、正確なエラーが発生しているかどうかはわかりませんでした。 Apacheはエラーも記録しませんでした。ジムポートの指示が問題を引き起こしていることを確認することができます。どんな問題?私は知らなかった。 – jstuardo

+0

OK。それは私のためにうまく動作します、なぜそれがあなたのためではないか分からない。これを理解するには、おそらく最小限のPHP経験が必要です。あなたが ''タグを使い切っていない限り、実際にはエラーが発生する理由はありません。 – jonasfh

答えて

0

<?php 
jimport('joomla.application.module.helper'); 
$modules = JModuleHelper::getModules('lo-mas'); 
$output = ''; 
foreach ($modules as $module) { 
    $output .= JModuleHelper::renderModule($module); 
} 
if (trim($output)){ 
?> 
<div class="row"> 
    <div class="lomas"> <h3>LO MÁS DE LA SEMANA</h3></div> 
    <?php echo $output; ?> 
</div> 
<?php 
} 
?> 

あなたはおそらく、あなたのモジュールが何らかの形で(通常はXHTML)のスタイルを指定すると、いくつかのより多くを適用することによって、レンダリングされている正確にどのように決定することができます出力にhtmlコード...

関連する問題