1

我在 joomla 1.5.x 中使用 yootheme joomla 模板,我的问题是我想

  • 在首页显示模块(如果启用),没有 joomla 内容(即 localhost/project 或 localhost/project/index.php)

  • 在内页上显示内容和模块(如果启用)

我的问题是,如果我写在首页(模板/yoo_symphony/index.php)

<jdoc:include type="component" />

然后首页只显示内容,没有模块:(

如果我按照这里这里的建议写

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

然后首页显示所有模块但内页不显示任何内容

我已经阅读了很多关于此的文章,但没有希望...... :(

请给我一个完美的解决方案,以便我可以在首页上显示模块以及在内页上显示内容


注意:如果我写 print_r($_GET) on http://localhost/projector http://localhost/project/index.phpthen 结果

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;?>

注意:如果我在http://localhost/projecthttp://localhost/project/index.php上写 print_r($_GET)然后它返回

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

1 回答 1

8

当我真的不需要主页上的模块时,我会在几个站点上执行此操作。这在我曾经使用过的任何地方都非常有效。只需将其添加到您的模板中即可。

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

还有一件事要提一下,这样您就不会得到搜索结果,因为它们显示在默认页面上。- 如果你创建了一个搜索页面菜单项,如果你想控制该页面上的模块,那么这根本不会影响搜索页面。

于 2010-09-11T01:04:22.537 回答