Joomlaテンプレートを作成しようとしています。また、bootstrap v2.3.2を使用しています。デザインを3/12-6/12-3/12ディストリビューションにしたいのです。モジュールが左右に配置されているかどうかを確認しています。コラム
$span = 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; ?>