0

私は joomla 2.5 を使用し、モジュール内に配置するメニューを作成します。

私のテンプレートのインデックスには、これがあります

 <div id="wrapper-header-left" class="column grid_6">
                        <?php if ($this->countModules('mod_imagenMenu')): ?>
                            <jdoc:include type="modules" name="mod_imagenMenu" style="none"/>
                        <?php endif; ?>
                        <?php if ($this->countModules('mod_izquierdo')): ?>
                            <jdoc:include type="modules" name="mod_izquierdo" style="none"/>
                        <?php endif; ?>
                    </div>
                        <div id="wrapper-header-right" class="column grid_10">
                            <?php if ($this->countModules('mod_extranet')): ?>
                                <jdoc:include type="modules" name="mod_extranet" style="none"/>
                            <?php endif; ?>
                            <div id="Menu_Principal">
                                <ul class="menu">
                                    <?php if ($this->countModules('mod_menuPrincipal')): ?>
                                        <jdoc:include type="modules" name="mod_menuPrincipal" style="none"/>
                                    <?php endif; ?>
                                </ul>
                            </div>
                        </div>

mod_izquierdoこのモジュール内でメニューを表示したい

default.phpこのモジュールのファイルで、メニューを呼び出します

<div class="conozca">
    <p>Conozca más sobre Arq/p>
        <ul>

            <!--<li><a href="#">¿Cómo adquirir Arq?</a></li>
            <li><a href="#">¿Qué equipos componen Arq?</a></li> -->
        </ul>   
</div>

しかし、ページをレンダリングするとメニューが表示されません。

<jdoc:include type="modules" name="mod_ar_menu" style="none"/>

インデックスでは、メニューの複製を示しています。

モジュール内にメニューを配置できますか?

4

1 に答える 1

1

テンプレートで特定のモジュールをそのように呼び出すべきではありません。変更を加える必要がある場合、作業が非常に困難になります。最初に理解する必要があるのは、テンプレートの index.php にはモジュールの位置のみを含める必要があるということです。このように見えるはずです -

<div id="wrapper-body" class="row">
        <jdoc:include type="modules" name="top" style="none"/>
        <div class="clr"></div>

        <div id="content" class="column grid_16">
        <jdoc:include type="modules" name="top-middle" style="none"/>
        <jdoc:include type="component" />
        <jdoc:include type="modules" name="bottom-middle" style="none"/>
        </div>
        <div class="clr"></div>

        <jdoc:include type="modules" name="left-column" style="none"/>
        <div class="clr"></div>

        <jdoc:include type="modules" name="right-column" style="none"/>
        <div class="clr"></div>

        <jdoc:include type="modules" name="bottom" style="none"/>
        <div class="clr"></div>
    </div>

このページは、サイトの基本構造を作成するために使用することになっています。本当に凝りたい場合は、各モジュールの位置を折りたたみ可能にして、特定のページで使用されていない位置がコードを出力しないようにします。それは次のようになります -

        <?php if ($this->countModules('top')) : ?>
        <div id="top"><jdoc:include type="modules" name="top" style="none" /></div>
        <?php endif; ?>

位置を決定したら、モジュールのインスタンスを作成し、それらを表示する位置と表示するページに割り当てることができます。Extensions メニューで、Module Manager リンクをクリックします。そこで新しいモジュールを作成します。モジュール パラメーターには、モジュールを表示するモジュール位置を選択できます。その下で、モジュールを表示するメニュー項目を選択することもできます。[すべて]、[なし]、[選択範囲を除外]、または [選択範囲のみ] を選択できます。

このようにすると、モジュールの管理が非常に簡単になります。複数のモジュールを特定の位置に配置し、その位置内での順序を選択できます。たとえば、メニュー モジュール、ログイン モジュール、およびイメージ ローテータ モジュールをすべて左側の列に配置できます。また、実行しようとしているようにモジュール内でモジュールを呼び出す必要がないため、コードが大幅にクリーンになります。これは、サイトの管理を難しくし、パフォーマンスを低下させるだけです。

于 2012-11-05T13:43:23.987 に答える