0

Joomla 2.5 テンプレートを作成しました。このサイトで見ることができます: www.ranfar.com.

サイドバーのコードを見てください。今では、私はそのようなものを持っています:

<div id="sidebar">
    <!-- Here starts the first widget -->
    <h3>Widget title</h3>
    <ul>......... <!-- Module content --> ..........</ul>
    <!-- Here starts the second module -->
    <p>.... <!-- Second module content --> .........</p>
</div>

ご覧のとおり、ウィジェットごとに個別のボックスはありません。次のようなものが欲しいです:

<div id="sidebar">
    <!-- Here starts the first module -->
    <div class="sidebar-module-box">
         <h3>Module title</h3>
         <ul>......... <!-- Module content --> ..........</ul>
    </div>
    <!-- Here starts the second module -->
    <div class="sidebar-module-box">
         <p>.... <!-- Second module content --> .........</p>
    </div>
</div>

このようにして、モジュール ボックスのクラスのスタイルを設定できます。どうすればそのようなテンプレートを実現できますか? どこに追加すればよいですか?これは、サイドバーを生成する index.php にあるコードです。

<?php if($this->countModules('ranfar-rightsidebar')) : ?>
    <div id="right-sidebar" class="float-right">
        <jdoc:include type="modules" name="ranfar-rightsidebar" style="sidebar" />
    </div> 
<?php endif; ?>
4

2 に答える 2

2

私は解決策を見つけました。

ファイルを開く必要が/templates/THEME/html/modules.phpありTHEMEました。 は私のテーマの名前です。次のような機能があります。

function modChrome_sidebar($module, &$params, &$attribs)
{
    if (!empty ($module->content)) : ?>
        <?php if ($module->showtitle) : ?>
            <h3><?php echo $module->title; ?></h3>
        <?php endif; ?>
        <?php echo $module->content; ?>
    <?php endif;
}

次のように変更する必要がありました。

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

現在、すべてのモジュールは、クラス "module-box" の div 内に囲まれています。

于 2012-09-04T17:29:11.490 に答える
0

Joomla では、(ウィジェットではなく) モジュールと呼ばれます。XML ファイルでは、次のようにモジュールの位置を追加する必要があります。

<positions>
    <position>login</position>
    <position>search</position>
    <position>sidebar1</position>       
    <position>sidebar2</position>
    <position>etc...</position>
</positions>

テンプレートで、上記のコードを使用して各モジュールの位置を追加します。

<jdoc:include type="modules" name="sidebar1" style="xhtml" />

どこにいても、Joomla はその場所にモジュールを表示します (次の段落)。「スタイル」についての簡単な注意 -マークアップのニーズに応じて、カスタム スタイルを作成するか、Joomla がすでに持っているスタイルのいずれかを使用できます。

次に、モジュール マネージャーで新しいモジュールを作成し、表示する位置を選択します。

于 2012-09-04T13:23:58.577 に答える