0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 187 Просмотров
*

stepan39

  • Захожу иногда
  • 378
  • 23 / 0
Всем доброго дня!

Появилась необходимость отображения некоторых кастомных полей в списке пользователей админки (administrator/index.php?option=com_users&view=users). Поля сделаны нативным компонентом com_fields (в-основном текстовые). Место вставки неважно, для примера можно использовать столбец "Имя".

Подскажите, пожалуйста, какой код нужно добавить для реализации этой задачи?

Спасибо.
*

AlekVolsk

  • Гуру
  • 6879
  • 398 / 4
можно переопределить вид списка пользователей в шаблоне админки и добавить столбец там, получить поля можно получить и вывести согласно оф.документации https://docs.joomla.org/J3.x:Adding_custom_fields
*

stepan39

  • Захожу иногда
  • 378
  • 23 / 0
можно переопределить вид списка пользователей в шаблоне админки и добавить столбец там, получить поля можно получить и вывести согласно оф.документации https://docs.joomla.org/J3.x:Adding_custom_fields
Благодарю за ответ. С переопределением понятно, но чтобы получить поля моих знаний недостаточно...
Пробовал так:
В шапке administrator/components/com_users/views/users/tmpl/default.php

Код
// Load the FieldsHelper
<?php JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php'); ?>

<?php foreach ($this->item->jcfields as $field) : ?>
// Render the field using the fields render method
<?php echo FieldsHelper::render($field->context, 'field.render', array('field' => $field)); ?>
<?php endforeach ?>

В нужном место:
Код
<?php echo $item->jcFields['city']->rawvalue; ?>

 Вы не могли бы привести пример рабочего кода для вывода поля "city"?
*

AlekVolsk

  • Гуру
  • 6879
  • 398 / 4
уже в цикле
Код
$item->jcfields = FieldsHelper::getFields('com_users.user', $item, true);
$fields = [];
foreach($item->jcfields as $jcfield)
{
$fields[$jcfield->name] = $jcfield;
}

/* в нужном месте */
echo $fields['city']->rawvalue;

предварительное подключение FieldsHelper нужно обязательно
*

stepan39

  • Захожу иногда
  • 378
  • 23 / 0
уже в цикле
Код
$item->jcfields = FieldsHelper::getFields('com_users.user', $item, true);
$fields = [];
foreach($item->jcfields as $jcfield)
{
$fields[$jcfield->name] = $jcfield;
}

/* в нужном месте */
echo $fields['city']->rawvalue;

предварительное подключение FieldsHelper нужно обязательно

Рабочее решение. Спасибо огромное!

Ихмо такая вещь из коробки должна быть (в настройках вывод нужных полей указывать) и с фильтрацией по полям.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться