0

我正在创建一个 Joomla 模板(Joomla 3),你们中的一些人可能有这方面的经验,并且会认识到我遇到的问题。当您将模块插入模板并将它们留空时,它仍然会占用一些空间。为了防止这种情况,我想添加一个可变的 CSS 类。由于解决方案使用了带有 if else 的数组:

模块位置数组

$modules = array(1 => 'modulename', 'modulename2', 'modulename3');

Foreach modulename 为 0 将 display 设置为 none

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']?

4

2 回答 2

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>
于 2013-11-05T13:40:37.960 回答
0

与其添加一个确定模块是否显示的类,不如简单地在if语句中添加 html,如下所示:

<?php
  foreach ($modules as $module) {
      if ($this->countModules($module) == '0') { ?>
          <section>   
            <jdoc:include type="modules" name="modulename" />
          </section>
      <?php } else {
          $display = '';
      }
  }
?>
于 2013-11-05T13:40:01.143 回答