用PHP和Joomla嵌套命令-这很笨拙吗?

用PHP和Joomla嵌套命令-这很笨拙吗?,php,if-statement,joomla,Php,If Statement,Joomla,抱歉,如果这是一个愚蠢的问题,但我想在Joomla中嵌套2个php命令(一个用于根据if主页提供不同的html,另一个嵌套在其中以测试是否设置了模块),它可以工作,但似乎有点冗长和笨拙,有没有更好的方法来做到这一点 在文件前面 <?php $menu = &JSite::getMenu(); $isHome = false; if ($menu->getActive() == $menu->getDefault()) : $isHome = true; en

抱歉,如果这是一个愚蠢的问题,但我想在Joomla中嵌套2个php命令(一个用于根据if主页提供不同的html,另一个嵌套在其中以测试是否设置了模块),它可以工作,但似乎有点冗长和笨拙,有没有更好的方法来做到这一点

在文件前面

 <?php
 $menu = &JSite::getMenu();
 $isHome = false;
 if ($menu->getActive() == $menu->getDefault()) : $isHome = true; 
 endif;
 ?>\
\
然后在需要的地方

<?php
if ($isHome) : ?>
<div>
   <h1>You're HOME!</h1>
// THIS PART FEELS CLUMSY...
   <?php if ($this->countModules('featured')) : ?>
   <h3>And we have a feature module set</h3>
   <?php endif; ?>
</div>
<?php else : ?>
<div>
   <h1>You ain't home</h1>
</div>
<?php endif; ?>

你回来了!
//这部分感觉很笨拙。。。
我们有一个功能模块集
你不在家

不,这是一个很好的方法,只需为特色职位做jdoc模块声明,或者如果你想要一个特定的职位,就做模块。谢谢Elin,我正在创建我的第一个Joomla模板,发布到野外,我的普遍焦虑感归结为一个事实,那就是更加灵活和“特色化”我觉得我制作的模板越不美观,它给人的感觉就越少——本质上是一个包含一组全宽行(包含模块位置)和一组css文件的容器——不美观。具有讽刺意味的是,我试图在模板之外保留尽可能多的html和结构,而是通过内容引入——这意味着质量价值越来越像是在内容中。这正常吗?是的。模板就是css和非常基本的html,它提供了一个上下文,用于以模块和组件的形式插入更复杂的内容和设计。这就是Joomla模板如此灵活的原因,它们不会妨碍您的内容——正如您所说,它们是容器。您还可以在编辑模块时根据菜单项分配模块,这将从模板中去除
$isHome
逻辑,并使其在CMS系统中可控。在这种情况下,您只需要检查
countModules
。我想不出一个好的理由只在主页上提供模块位置,而不在其他页面上提供。我可以想出一些很好的理由让某些模块只出现在主页上,但是你也可以在模块管理器中这样做,为什么要在模板中这样做呢?嗨,这更多的是关于在模块位置的外侧有一些特定的html标记-即一个额外的包装器,以形成一个全宽的行,以形成带状外观。我只是不需要额外的包装周围的模块位置上的其他网页。