0

次のようなCSSクラスがあります。

.divTourCategorySummaryBoxLeft, .divTourCategorySummaryBoxRight {
    width: 98%;
    min-height: 350px;
    border: 1px dashed #9CAAC6;
    padding: 2px;
    margin-bottom:3px;
    background: #DEE7EF;
    color: #000063;
    line-height: 1.4em;
    display:block;
    overflow:auto;

}

次に、次のようなモジュールを index.php に含めます。

<div class="divTourCategorySummaryBoxRight">
    <jdoc:include type="modules" name="modTourCategorySummaryRight" />
</div>

これは完全に表示されます。ただし、同じページに複数のモジュールを配置する必要があります。したがって、別のモジュールを追加すると、同じ div に表示されます。これは私が望む方法ではありません。モジュールごとに、個別の div が必要です。また、モジュールの数は不明です。

だから私はこれを試しました:

<jdoc:include type="modules" name="modTourCategorySummaryLeft" style="divTourCategorySummaryBoxLeft" />

しかし、スタイリングはここで失敗します。各モジュールの div の新しいセットを表示するにはどうすればよいですか?

お知らせ下さい。

これは、joomla のドキュメントを参照してゼロから作成した独自のテンプレートです。私はこれにかなり慣れていません。ありがとう!

4

1 に答える 1

2

を新規作成する必要がありますmodule chrome。テンプレートの html フォルダーに、 というファイルを作成しますmodules.php

内部では、このような関数を作成します

defined('_JEXEC') or die;

function modChrome_customstyle($module, &$params, &$attribs)
{
    if (!empty ($module->content)) : ?>
            <div class="divTourCategorySummaryBoxRight">
                 <div class="moduletable">
                      <?php if ($module->showtitle != 0) : ?>
                           <h3><?php echo $module->title; ?></h3>
                      <?php endif; ?>
                      <?php echo $module->content; ?>
                 </div>
            </div>
    <?php endif;
}

このようにして、カスタム モジュール出力を作成できます。

次に、テンプレート ファイルに、次のようにモジュールを含めます。

     <jdoc:include type="modules" name="modTourCategorySummaryLeft" style="customstyle" />

style="customstyle"新しい関数を追加した後、モジュールをレンダリングするために使用されます。デフォルトのスタイルはxhtmlで、そのコードはtemplates/system/htmlmodules.php ファイルのフォルダーにあります。

于 2013-04-11T13:17:01.283 に答える