instantsoft / icms2

Self-hosted Site Management System
https://instantcms.ru
GNU General Public License v2.0
295 stars 120 forks source link

Вывод полей в специальной позиции #1341

Closed asnenne closed 3 years ago

asnenne commented 3 years ago

Используемая версия InstantCMS: 2.14

В общем-то почти всё работает. Но есть нюансы:

  1. Не выводятся заголовки полей
  2. Если поле не заполнено, оно все равно выводится. Вернее, не значение поля (его же нет), а пустой блок с классом .ft_fieldtype .f_fieldname И это серьезная проблема. Если, например, прописать стили для этого поля в спецпозиции (верхний отступ, фон и т.д.), то выводится пустой блок, к которому применяются эти стили.

Предлагаю в виджете для вывода полей контента выводить их в нормальном виде, как в записи. Исправить не сложно, вот мой файл шаблона этого виджета:

<?php foreach ($fields as $field) { ?>
    <?php if ($field['html']) { ?>
        <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>">
        <?php if ($field['options']['label_in_item'] != 'none') { ?>
            <div class="title_<?php echo $field['options']['label_in_item']; ?>"><?php html($field['title']); ?>: </div>
        <?php } ?>
            <div class="value"><?php echo $field['html']; ?></div>
        </div>
    <?php } ?>
<?php }

Спасибо.