質問: 12; if ($this->countmodules('right')) $span -= 3; if ($this->countmodules('left')) $span -= 3; <?php if ($this->countmodules('left')): ?> <div id="sidebarleft" class="span3"> <jdoc:include type="modules" name="left" style="well" /> </div> <?php endif; ?> <div id="content" class="<?php echo $span; ?>"> <jdoc:include type="message" /> <jdoc:include type="component" /> </div> <?php if ($this->countmodules('right')) : ?> <div id="sidebarright" class="span3"> <jdoc:include type="modules" name="right" style="none" /> </div> <?php endif; ?> mod_articles_categoryモジュールを左に配置しましたが、空です。したがって、モジュールは表示されません。しかし、joomlaはその位置にモジュールがあり、コンテンツを縮小する必要があると考えています。モジュールがページに表示されない場合、どうすればスペースを使用できますか?
回答: 私があなたを正しく理解していれば、このスニペットが役立つはずです(注、私はコードを実行していません)<?php if ($this->countmodules('left')) { $modules = jmodulehelper::getmodules('left'); $modulescontent = array(); foreach ($modules as $module) { $content = jmodulehelper::rendermodule($module, array('style' => 'well')); if(!empty($content)) { $modulescontent[] = $content; } } } ?> <?php if(!empty($modulescontent)) : ?> <div id="sidebarleft" class="span3"> <?php foreach ($modulescontent as $content) : ?> <?php echo $content; ?> <?php endforeach; ?> </div> <?php endif; ?>