0

私は Joomla を初めて使用し、Joomla 以外のサイトを Joomla を使用するように変換するよう求められました。

サイトの構造はアコーディオン メニューに似ており、ページ コンテンツは次のようにページへのリンクの下に表示されます。

第 1 条のリンクをクリックする:

╔════════════════╦══════════════════════╗
║ Article 1 Link ║                      ║
║                ║ Content of article 1 ║
║ Article 2 Link ║                      ║
║ Article 3 Link ║                      ║
║ Article 4 Link ║                      ║
║ Article 5 Link ║                      ║
╚════════════════╩══════════════════════╝

第 3 条のリンクをクリックする:

╔════════════════╦══════════════════════╗
║ Article 1 Link ║                      ║
║ Article 2 Link ║                      ║
║ Article 3 Link ║                      ║
║                ║ Content of article 3 ║
║ Article 4 Link ║                      ║
║ Article 5 Link ║                      ║
╚════════════════╩══════════════════════╝

Joomla 2.5でこれを行うことは可能ですか? メニュー モジュールを使用できるため、その方法を理解するのに苦労していますが、そのモジュール内に記事のコンテンツをどのように表示しますか?

記事のコンテンツは、理想的には同じ<li>メニュー項目内にあるため、html ビューでは次のようになります。

<ul>
    <li><a href="#link1">Link 1</a></li>
    <li class="current"><a href="#link2">Link 2</a>
        <div>
            <!-- ARTICLE CONTENT FOR Link 2 -->
        </div>
    </li>
    <li><a href="#link3">Link 3</a></li>
</ul>
4

2 に答える 2

2

components/com_contact/contact/tmpl/default.php には、組み込みの JHtml アコーディオン (Joomla では Sliders と呼ばれる) の使用方法を示す 50 行目 (give or take) あたりから始まる例があります。mod_menu のコピーから新しいモジュールを構築する場合は、そのコードを例として使用できます。

ただし、JED には多数のアコーディオン メニューが用意されているため、最初にいくつかの拡張機能を試してみることをお勧めします。他に何もないとしても、最適な実装方法についてのアイデアが得られます。http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/accordion-menus

于 2013-01-29T17:52:13.370 に答える
0

mod_menu ファイルをコピーして mod_menu オーバーライドを追加しましたMYTEMPLATE/html/mod_menu/CUSTOMMENUNAME.php

次に、これを for ループに追加しました。

if ($item->id == $active_id) {

これにより、現在どのページが表示されているかを確認できました。The Joomla の rcarey の大きな助けを借りて! フォーラム、これを mod_menu ファイルの先頭に追加しました。

require_once JPATH_SITE.'/components/com_content/helpers/route.php';
JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models', 'ContentModel');

// Get an instance of the model for getting an article
$model = JModelLegacy::getInstance('Article', 'ContentModel', array('ignore_request' => true));
// Set application parameters in model
$app = JFactory::getApplication();
$appParams = $app->getParams();
$model->setState('params', $appParams);

その後、mod_menu ループ内で、私がしなければならなかったのは次のことだけでした。

$article = $model->getItem($item->id)

$articlemod_menu のループ内で使用できるようになりました。

于 2013-02-25T10:40:31.193 に答える