TlegenBayangali
@TlegenBayangali
Учусь Front-end разработке

Как добавить дополнительные поля в Joomla?

Задача состоит в том, чтобы установить дополнительные поля вручную.
<?php 
// GET CUSTOM FIELDS
    $myCustomFields = array();
    foreach($this->item->jcfields as $field) {
        $myCustomFields[$field->name] = $field->value;
} 
// RECOVER CUSTOM FILED NAME
    if (isset($myCustomFields['field-1']) and !empty($myCustomFields['field-1'])) : ?>
        <div class="field">
            <div class="field__name">Название поля:</div>
            <div class="field__value"><?php echo $myCustomFields['field-1']; ?></div>
        </div>
<?php endif; ?>

с выводом дополнительных полей непосредственно в шаблоне article.php проблем не возникает.
но мне нужно вывести их в шаблон категории блога. При попытке вывести поле возникает ошибка
Warning: Invalid argument supplied for foreach() in C:\OpenServer\domains\center-skidok.loc\templates\centerskidok\html\com_tags\tag\default_items.php on line 65
  • Вопрос задан
  • 485 просмотров
Пригласить эксперта
Ответы на вопрос 1
Starina_js
@Starina_js
full-stack web dev
Это не шаблон категории блога. Это вы в компонент "метки" пытаетесь вывести поля из материалов, поэтому их нет.
Вот так можно
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php');
$item->jcfields = FieldsHelper::getFields('com_content.article', $item, true);
$fields = [];
foreach($item->jcfields as $jcfield)
{
  $fields[$jcfield->name] = $jcfield;
}
$fields['имя_поля']->rawvalue;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы