Привет. Не могу понять как вывести единицу измерения от поля.
Вывожу поле так
<?php echo $item['pris']; ?> <?php } ?>
Единица измерения в админке присвоена.
KoRn, где выводите?
Если в типе контента, то там у $items есть $items['fields'] в котором содержится массив полей. И там у каждого field есть массив options, из которого можно получить единицу измерения.
Сделайте в коде
dump($items['fields']);
И очень многое станет понятно.
Zau4man, Спасибо, выводил просто вардампом там все в кучу было. Ваш вариант выводит более понятнее.
Loadырь, Спасибо, пошел изучать))
p/s Вывожу в типе контента, в созданном шаблоне для него
Собственно
Дампом выходит следующее.
Array
(
[title] => Array
(
[label_pos] => none
[type] => caption
[name] => title
[title] => Заголовок
[html] =>
Тестовая запись виджеты
[options] => Array
(
[is_required] => 1
[is_digits] => 0
[is_number] => 0
[is_alphanumeric] => 0
[is_email] => 0
[is_unique] => 0
[is_url] => 0
[disable_drafts] => 0
[is_date_range_process] => hide
[label_in_list] => none
[label_in_item] => none
[wrap_type] => auto
[wrap_width] =>
[wrap_style] =>
[profile_value] =>
[is_in_item_pos] => Array
(
[0] => page
)
[min_length] => 3
[max_length] => 255
)
)
[katag] => Array
(
[label_pos] => none
[type] => category
[name] => katag
[title] => Категория
[html] => Виджеты и плагины
[options] => Array
(
[is_required] =>
[is_digits] =>
[is_number] => 0
[is_alphanumeric] =>
[is_email] =>
[is_unique] =>
[is_url] =>
[disable_drafts] => 0
[is_date_range_process] => hide
[label_in_list] => none
[label_in_item] => none
[wrap_type] => auto
[wrap_width] =>
[wrap_style] =>
[profile_value] =>
[is_in_item_pos] => Array
(
[0] => page
)
[is_auto_colors] => 1
[auto_colors_classes] => btn-primary,btn-secondary,btn-success,btn-danger,btn-warning,btn-info,btn-light,btn-dark
[btn_class] => btn btn-sm
[btn_icon] =>
[context_list] => Array
(
[0] => 0
)
[relation_id] =>
[visible_depend] =>
[author_access] =>
)
)
[content] => Array
(
[label_pos] => none
[type] => html
[name] => content
[title] => Описание
[html] => Равным образом постоянный количественный рост и сфера нашей активности позволяет оценить значение мо
[options] => Array
(
[is_required] =>
[is_digits] =>
[is_number] => 0
[is_alphanumeric] =>
[is_email] =>
[is_unique] =>
[is_url] =>
[disable_drafts] => 0
[is_date_range_process] => hide
[label_in_list] => none
[label_in_item] => none
[wrap_type] => auto
[wrap_width] =>
[wrap_style] =>
[profile_value] =>
[is_in_item_pos] => Array
(
[0] => widget
)
[editor] => redactor
[editor_presets] =>
[is_html_filter] =>
[parse_patterns] =>
[build_redirect_link] =>
[teaser_len] => 100
[teaser_postfix] =>
[teaser_type] => s
[show_show_more] =>
[in_fulltext_search] =>
[context_list] => Array
(
[0] => 0
)
[relation_id] =>
[visible_depend] =>
[author_access] =>
)
)
)
Пробовал и так
<?php if(!empty($item['fields'])) { ?> <?php echo $item['pris']; ?> <?php echo $item['fields']['pris']['options']['units']; ?> <?php } ?>
Не работает, нотис
Пробовал так
<?php if(!empty($item['fields'])) { ?> <?php echo html($item['fields'], $item['pris'], $item['options'], $item['units']); ?> <?php } ?>
Опять нотис
Потом думаю может напрямую к $item
<?php if(!empty($item)) { ?> <?php echo html($item['fields'], $item['pris'], $item['options'], $item['units']); ?> <?php } ?>
Но нет не работает
Пара нотисов
Notice: Undefined index: options in /home/templates/modern/content/default_list_tiles_tvent_addons.tpl.php on line 76 Notice: Undefined index: units in /home/templates/modern/content/default_list_tiles_tvent_addons.tpl.php on line 76 Notice: Array to string conversion in /home/system/libs/html.helper.php on line 11
В общем само поле pris выходит, а вот единицу измерения похоже похоже из другого места нужно тянуть)).
Все это дело пытаюсь вывести в файле templates/modern/content/default_list_tiles_tv_addons.tpl.php
Посомтрел код элемента
<div id="f_options_units" class="form-group field ft_string"> <label for="options_units">Единица измерения</label> <input type="text" class="form-control input" name="options[units]" value="руб." autocomplete="off" id="options_units"> </div>
Сработало <?php echo ($item['fields']['pris']['options']['units']); ?> скобки перед echo забыли))
Не работает, нотис
Видимо «Notice: Undefined index: pris in» это значит, что ваше поле не выводится в списке, а только в записи.
<?php echo html($item['fields'], $item['pris'], $item['options'], $item['units']); ?>
Ну а это совсем шедевр, как делать не надо.
Тут или использовать echo без скобочек или html() со скобочками, а вы и то и другое и с кучей данных в строковой функции.
Сработало <?php echo ($item['fields']['pris']['options']['units']); ?> скобки перед echo забыли))
У меня было всё без скобочек, к вашему коду добавил только это:
<?php echo $item['fields']['pris']['options']['units']; ?>
Но если нет таких индексов как options и units, то у вашего поля либо отключен показ в списках и надо включить или надо использовать данные из массива $fields
<?php echo $fields['pris']['options']['units']; ?>
При условии, что он доступен в вашем шаблоне