Делаю сайт, главная представляет собой посадочную страницу в которой 5 модулей которые выводятся из админки.
Для своих целей делаю разметку в home.tpl. Разметка в этом файле делаю из нескольких секции, а в секции стандарт будстрапа .container. row .col*бесконечность> ну и свои классы. Поэтому для меня вывод через верх страницы и низ страницы не подходит. Нужно больше позиций. Попробовал создать свою позицию, скопировал файл контроллера с content_top.php в свой content_vantage.php. Нашел все строки с 'top ' заменил на 'vantage'. также по аналогии создал content_vantage.tpl и и вставил в него код из content_top.tpl. Дальше создал модификатор для home.php нашел строчку
$data['content_bottom'] = $this->load->controller('common/content_bottom');
и после нее записал
$data['content_vantage'] = $this->load->controller('common/content_vantage');
дальше, нужно было добавить эту позицию , для видимости в админку. нашел файл layout_form.tpl и после таблички
id content-top
эта табличка позиции "верх страницы" . Вставил, копированием еще одну табличку, <code lang="html">
<!--CASTOM SECTION BEGIN !-->
<table id="module-content-vantage" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<td class="text-center">Вывод секции приемущества</td>
</tr>
</thead>
<tbody>
<?php foreach ($layout_modules as $layout_module) { ?>
<?php if ($layout_module['position'] == 'content_vantage') { ?>
<tr id="module-row<?php echo $module_row; ?>">
<td class="text-left"><div class="input-group">
<select name="layout_module[<?php echo $module_row; ?>][code]" class="form-control input-sm">
<?php foreach ($extensions as $extension) { ?>
<optgroup label="<?php echo $extension['name']; ?>">
<?php if (!$extension['module']) { ?>
<?php if ($extension['code'] == $layout_module['code']) { ?>
<option value="<?php echo $extension['code']; ?>" selected="selected"><?php echo $extension['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $extension['code']; ?>"><?php echo $extension['name']; ?></option>
<?php } ?>
<?php } else { ?>
<?php foreach ($extension['module'] as $module) { ?>
<?php if ($module['code'] == $layout_module['code']) { ?>
<option value="<?php echo $module['code']; ?>" selected="selected"><?php echo $module['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $module['code']; ?>"><?php echo $module['name']; ?></option>
<?php } ?>
<?php } ?>
<?php } ?>
</optgroup>
<?php } ?>
</select>
<input type="hidden" name="layout_module[<?php echo $module_row; ?>][position]" value="<?php echo $layout_module['position']; ?>" />
<input type="hidden" name="layout_module[<?php echo $module_row; ?>][sort_order]" value="<?php echo $layout_module['sort_order']; ?>" />
<div class="input-group-btn"> <a href="<?php echo $layout_module['edit']; ?>" type="button" data-toggle="tooltip" title="<?php echo $button_edit; ?>" target="_blank" class="btn btn-primary btn-sm"><i class="fa fa-pencil"></i></a>
<button type="button" onclick="$('#module-row<?php echo $module_row; ?>').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger btn-sm"><i class="fa fa fa-minus-circle"></i></button>
</div>
</div></td>
</tr>
<?php $module_row++; ?>
<?php } ?>
<?php } ?>
</tbody>
<tfoot>
<tr>
<td class="text-left"><div class="input-group">
<select class="form-control input-sm">
<?php foreach ($extensions as $extension) { ?>
<optgroup label="<?php echo $extension['name']; ?>">
<?php if (!$extension['module']) { ?>
<option value="<?php echo $extension['code']; ?>"><?php echo $extension['name']; ?></option>
<?php } else { ?>
<?php foreach ($extension['module'] as $module) { ?>
<option value="<?php echo $module['code']; ?>"><?php echo $module['name']; ?></option>
<?php } ?>
<?php } ?>
</optgroup>
<?php } ?>
</select>
<div class="input-group-btn">
<button type="button" onclick="addModule('content-vantage');" data-toggle="tooltip" title="<?php echo $button_module_add; ?>" class="btn btn-primary btn-sm"><i class="fa fa-plus-circle"></i></button>
</div>
</div></td>
</tr>
</tfoot>
</table>
<!--CASTOm SECTION END !-->
</code>
В итоге получил ,то что и хотел<img src="https://habrastorage.org/webt/5b/85/ac/5b85ac239cd46129067653.png" alt="image"/>
<b>НО</b> при когда добавлю модуль в мою секцию "вывод секции преимущества" Сохраняю пишет ,что все хорошо. Но когда опять захожу в макет все добавленные модули в эту секцию слетают и она становится пустой.
<img src="https://habrastorage.org/webt/5b/85/ad/5b85ad0857f2d386118976.png" alt="image"/>
Может я где-то что то пропустил?.
<b>А есть более простой способ, выводить модуль напрямую в любом файле , через php echo. не используя позиции?
</b>