Скрыть содержимое главной страницы на главной странице - Joomla 3.0 - Gantry

У меня есть сайт 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


person EZDC    schedule 13.05.2013    source источник
comment
Вам лучше использовать специальный шаблон для вашей домашней страницы.   -  person Brewal    schedule 13.05.2013
comment
Нет какого-то кода, чтобы определить, является ли это главной страницей, и просто использовать условное выражение? нравится этот пост: forum.joomla.org/viewtopic.php?t=304129   -  person EZDC    schedule 13.05.2013


Ответы (2)


Добавьте этот код в начало файла шаблона прямо перед частью 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'); ?>
person Bence Gacsályi    schedule 06.08.2013

Одно из возможных решений — добавить новую позицию с именем 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; ?>
person borracciaBlu    schedule 11.03.2015