Пробую переверстать стандартную тему с ипсользованием сетки от бутстрапа, столкнулся с тем что, если есть левая колонка, то она (к примеру) col-xs-3, а средняя тогда col-xs-9, а если есть еще и правая колонка, тогда средняя col-xs-6, а правая col-xs-3, соответственно если модулей в колонках нет, то и колонок нет, а соответственно, средняя тогда col-xs-12. Решил примерно так:
<?php echo $header; ?>
<?php if ( isset($leftcolumnmodule) ) { ?>
<div class="col-xs-3">
есть левая
<?php echo $column_left; ?>
</div>
<?php if ( isset($rightcolumnmodule) ) { ?>
<div class="col-xs-6">
есть 6
<?php }else { ?>
<div class="col-xs-9">
есть 9
<?php } ?>
<?php } else { ?>
<div class="col-xs-12">
есть 12
<?php } ?>
<div class="row">
<div class="col-xs-12">
<?php echo $content_top; ?>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<?php echo $content_bottom; ?>
</div>
</div>
</div>
<?php if ( isset($rightcolumnmodule) ) { ?>
<div class="col-xs-3">
есть правая
<?php echo $column_right; ?>
</div>
<?php } ?>
<?php echo $footer; ?>
на примере home, а $rightcolumnmodule и $leftcolumnmodule беру из контролера для этой tpl вот так:
$this->load->model('setting/extension');
$extensions = $this->model_setting_extension->getExtensions('module');
foreach ($extensions as $extension) {
$modules = $this->config->get($extension['code'] . '_module');
if ($modules) {
foreach ($modules as $module) {
if ($module['position'] == 'column_left'){
$this->data['leftcolumnmodule'] = 1;
} elseif ($module['position'] == 'column_right'){
$this->data['rightcolumnmodule'] = 1;
}
}
}
}
и получается нужно в каждый контролер вставлять этот код, а это не лучшая идея, может кто сталкивался с подобным и есть более изящное решение?