在joomla中,我需要将每个页面链接到组件视图。如何创建一个没有组件输出的页面?
示例:在我的主页上,我只需要一个模块输出。为此,我可以将主页链接到“空文章”,但是有没有更好的方法而不使用第三方扩展?
在joomla中,我需要将每个页面链接到组件视图。如何创建一个没有组件输出的页面?
示例:在我的主页上,我只需要一个模块输出。为此,我可以将主页链接到“空文章”,但是有没有更好的方法而不使用第三方扩展?
Answers:
没有比这更好的方法了。
唯一的其他选择是检查您是否在模板文件的主页上。要检查您是否在首页上,可以使用此处文档中所述的方法:
http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page
并执行类似的操作:
<?php
$menu = JFactory::getApplication()->getMenu();
if ($menu->getActive() != $menu->getDefault()) { ?>
<jdoc:include type="component" />
<?php } ?>
这样一来,您就永远不会在主页上包含组件
example.com/component/com_name/view
因为它将在默认菜单项下加载,并且不会显示组件的输出。
JFactory::getApplication()->input->get('view')
)也是不一样的菜单的视图($menu->getActive()->view
)
在JED中,还有一个“空白”组件,可让您发布菜单项,以便仅放置模块。
http://extensions.joomla.org/extensions/style-a-design/personal-layout/17363
router.php
这会导致无效的网址不响应与404
您的索引文件中可以有多个模板布局。
<!--Layout 1-->
<?php if ($BConfig->html=='layoutA') : ?>
<jdoc:include type="component" />
<?php endif; ?> <!--End Layout 1-->
<!--Dynamically Generated Layout 2-->
<?php if ($BConfig->html=='layoutB') : ?>
<jdoc:include type="modules" name="your-module"/>
<?php endif; ?> <!--End Layout 2-->
然后确保您的templateDetails文件包含选项B。然后在您的Joomla中!模板,则可以使用布局b设置其他模板。转到主菜单项,选择该模板。该组件不会加载,但您的模块会加载。
愚蠢,非常相似,但相当简单的解决方案:
您可能需要关闭一些详细信息,以便在类别和/或菜单项参数中对该类别隐藏。
在Joomla!3.x您可以执行以下操作:
默认情况下,Joomla!包含一个名为Bootstrap v2.3.2的库,因此您可以在该库中使用CSS,例如网格系统:http : //getbootstrap.com/2.3.2/scaffolding.html#gridSystem
使用这种方法可以获得的好处是,可以用更少的位置和更少的php,js和css代码获得更多的模板,因此,如果不需要很多功能,则可以自己创建。
问候。
您可以使用空白组件。那将达到这个结果。