1

ホームページにモジュールコンテンツを入れたいだけのjoomlaサイトがあります。他の解決策を見つけましたが、それらは joomla 3.0 と Gantry フレームワークで動作するようです。これに対する最新のソリューションを持っている人はいますか?

これは、ホームページ用に非表示にする必要があるコードです。

    <?php /** Begin Main Body * */ ?>
        <?php echo $gantry->displayMainbody('mainbody', 'sidebar', 'standard', 'standard', 'standard', 'standard', 'standard'); ?>
    <?php /** End Main Body * */ ?>

この投稿のように、条件を使用してこのコードをホームページ専用に非表示にする方法があるかどうか疑問に思っています。

joomla 1.5投稿の同じ考え

4

2 に答える 2

1

このコードをテンプレート ファイルの最初の html 部分の直前 (ただし php タグ内) に追加します。

$app = JFactory::getApplication();
$menu = $app->getMenu();
$isFrontPage = $menu->getActive() == $menu->getDefault();

次に、行を次のように置き換えることができます。

<?php if (!$isFrontPage) echo $gantry->displayMainbody('mainbody', 'sidebar', 'standard', 'standard', 'standard', 'standard', 'standard'); ?>
于 2013-08-06T17:15:40.803 に答える
0

考えられる解決策の 1 つは、disable_content という新しい位置を追加し、そこにアクティブなモジュールがあるかどうかを確認することです。その場合、コンテンツは表示されません。

位置を追加するには、templateDetails.xml を編集します<positions>

<positions>
    ..
    <position>disable_content</position>

そこにアクティブなモジュールがあるかどうかを確認するには、次を使用します。

$disable_content = (bool) $this->countModules('disable_content');

だから今、あなたは使用することができます

<?php if (!$disable_content) : ?>
    <?php echo $gantry->displayMainbody('mainbody', 'sidebar', 'standard', 'standard', 'standard', 'standard', 'standard'); ?>
<?php endif; ?>
于 2015-03-11T00:20:59.193 に答える