我正在创建一个Joomla模板(Joomla 3),你们中的一些人可能有这方面的经验,并会认识到我遇到的问题。当您将模块插入模板并将其留空时,它仍然使用一些空间。为了防止这种情况,我想添加一个变量CSS类。由于解决方案使用带有if else的数组:
模块位置数组
$modules = array(1 => 'modulename', 'modulename2', 'modulename3');
Foreach模块名称为0,显示为无
foreach ($modules as $module)
if ($this->countModules($module) == '0') {
$display = ' display-block';
} else {
$display = ' display-none';
}
<section class="<?php echo $display['modulename'] ?>">
<jdoc:include type="modules" name="modulename" />
</section>
是否有可能将$ display与$ display ['modulename']链接起来,因为它们是更多的数组?是否有一种ID从我的foreach链接到我的['modulename']?
答案 0 :(得分:1)
如果我理解正确,你想检查模块数是否为0?如果它为0那么你会隐藏模块吗?使用此代码,您可以实现这一目标。
$moduleDisplays = array();
foreach ($modules as $module) {
if ($this->countModules($module) == '0') {
$moduleDisplays[$module] = ' display-block';
} else {
$moduleDisplays[$module] = ' display-none';
}
}
<section class="<?php echo $moduleDisplays['modulename'] ?>">
<jdoc:include type="modules" name="modulename" />
</section>
另一种方法:
$moduleDisplays = array();
foreach ($modules as $module) {
$moduleDisplays[$module] = ($this->countModules($module) == '0') ? ' display-block' : ' display-none';
}
<section class="<?php echo $moduleDisplays['modulename'] ?>">
<jdoc:include type="modules" name="modulename" />
</section>
答案 1 :(得分:0)
不是添加一个确定模块是否显示的类,为什么不简单地在if
语句中添加html,如下所示:
<?php
foreach ($modules as $module) {
if ($this->countModules($module) == '0') { ?>
<section>
<jdoc:include type="modules" name="modulename" />
</section>
<?php } else {
$display = '';
}
}
?>