2013-05-13 2 views
1

У меня есть сайт joomla, на котором я просто хочу иметь содержимое модуля на главной странице. Я нашел другие решения, но они, похоже, работают на Joomla 3.0 и платформе Gantry. У кого-нибудь есть обновленное решение для этого?Скрыть содержимое главной страницы на главной странице - Joomla 3.0 - Gantry

Это код, который мне нужен, чтобы скрыть за страничку:

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

Я интересно, если есть способ использовать условный, чтобы скрыть этот код только для домашней страницы, как в этом посте:

Same idea for joomla 1.5 post

+0

Лучше использовать выделенный шаблон для своей домашней страницы – Brewal

+0

There'n ' t какой-то код, чтобы определить, является ли это главной страницей и просто использовать условное выражение? как этот пост: http://forum.joomla.org/viewtopic.php?t=304129 – EZDC

ответ

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'); ?> 
0

Одним из возможных решений является добавление новой позиции называется 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; ?> 
Смежные вопросы