как скрыть Joomla контент с главной страницы, но не с внутренних страниц - PullRequest
1 голос
/ 10 сентября 2010

Я использую шаблон Joomla Joomla в Joomla 1.5.x, моя проблема в том, что я хочу

  • отображать модули (если включены) на первой странице, нет содержимого Joomla (то есть localhost / project или localhost/project/index.php)

и

  • отображать содержимое и модули (если они включены) на внутренних страницах

моя проблемачто на первой странице (template / yoo_symphony / index.php), если я напишу

<jdoc:include type="component" />

, тогда на первой странице будет отображаться только содержимое без модулей: (* ​​1018 *

и еслия пишу как предложено на здесь и здесь

$pageview = JRequest::getVar('option','','GET');
if(!empty($pageview) ) : ?>
  <jdoc:include type="component" />
<?php endif; ?>  

, затем на первой странице отображаются все модули, но на внутренних страницах не отображается никакого содержимого

У меня естьпрочитайте много статей по этому поводу, но без надежды ...: (

Пожалуйста, предоставьте мне идеальное решение, чтобы я мог отображать модули на главной странице, а также содержимое на внутренних страницах


ПРИМЕЧАНИЕ: если я напишу print_r ($ _ GET) на http://localhost/project или http://localhost/project/index.php, то это приведет к

Array
(
    [option] => com_content
    [view] => article
    [id] => 44
    [Itemid] => 53
)

означает, что на первой странице есть url rewriting, моя главная проблема в том, как отличить главную страницу от других страниц ??

ОТВЕТ:

Я получилответ от моего старшего, нужно сделать ниже шаги

1> перейти на сторону администратора Joomla
2> затем перейдите в меню -> главное меню [ Диспетчер пунктов меню: [mainmenu] ]
3> нажмите «Домой» (т. Е. Элемент меню по умолчанию) [ Элемент меню: [Изменить] ]
4> Теперь нажмите на тип изменения [ Изменить элемент меню ]
5> выберите Internel link-->Articles -->Front Page -->Front Page Blog Layout
6> Применить и сохранить
7>, теперь перейдите в index.php и замените <jdoc:include type="component" /> на

<?php  if($_GET['view'] !== 'frontpage' ) :?>
     <jdoc:include type="component" />
<?php endif;?>

ПРИМЕЧАНИЕ : если я напишу print_r ($ _ GET) на http://localhost/project или http://localhost/project/index.php, то получится

Array
(
    [option] => com_content
    [view] => frontpage  // see now 
    [id] => 44
    [Itemid] => 53
)

1 Ответ

8 голосов
/ 11 сентября 2010

Я делаю это на нескольких сайтах, когда мне действительно ничего не нужно, кроме модулей на домашней странице. Это прекрасно работает везде, где я когда-либо использовал его. Просто добавьте это в свой шаблон.

<?php
$menu = &JSite::getMenu();
if ($menu->getActive() != $menu->getDefault()) {
?>
    <jdoc:include type="component" />
<?php } ?>

Еще одна вещь, которую стоит упомянуть, таким образом вы не получите результаты поиска, так как они отображаются на странице по умолчанию. - Если вы создаете элемент меню страницы поиска, который вам необходим, если вы хотите управлять модулями на этой странице, это не повлияет на страницу поиска вообще.

...