---
title: "Совет по Joomla: получение значений пользовательских полей в любом месте - WebTolk"
description: "Как получить пользовательские поля Joomla с помощью FieldsHelper с рендером значений в любом месте Php кода."
url: "https://web-tolk.ru/blog/sovet-po-joomla-poluchenie-znachenij-polzovatelskikh-polej-v-lyubom-meste"
date: "2025-02-07T13:18:00+00:00"
language: "ru-RU"
---

# Совет по Joomla: получение значений пользовательских полей в любом месте

 Автор: Сергей Толкачев Создано: 07 февраля 2025 Обновлено: 01 сентября 2025 Просмотров: 1143    ![](https://web-tolk.ru/blog/images/blog/sovet-po-joomla-poluchenie-znachenij-polzovatelskikh-polej-v-lyubom-meste/header.webp)

Пользовательские поля Joomla содержат самую разную дополнительную к основным сущностям информацию. И отображает её нужно бывает в самых разных местах. Легко работать с полями, когда они есть в объекте материала или контакта. Но когда их нет - их нужно получить. Для этого существует класс `\Joomla\Component\Fields\Administrator\Helper\FieldsHelper`.

У этого класса среди прочих самым ходовым, наверное, является метод `getFields()`. С его помощью мы получаем списки полей и, если нужно, их значений для конкретного контекста.

 Контекст в коде JoomlaКонтекст в коде Joomla - это отличительный признак вида `<com_component>.<entity>`. Например, `com_content.articles`. По нему мы понимаем, что работаем с материалами Joomla и конкретно со статьями.

```
<?php
/**
 * @param   string   $context    Контекст для поиска полей
 * @param   object|array|null  $item объект сущности, для которой ищем поля.
 * @param   int|bool $prepareValue  (если int - определяем где показывать значения): 1 - после заголовка, 2 - до основного контента, 3 - после контента, 0 - OFF. Если НЕ false и НЕ 0 - ПОЛУЧАЕМ ПОЛЯ И ЗНАЧЕНИЯ ПОЛЕЙ
 * @param   ?array             $valuesToOverride     значения для переопределения
 * @param   bool               $includeSubformFields Включать ли поля, помеченные, что они только для сабформы?
     *
     * @return  array
     *
     * @throws \Exception
     * @since   3.7.0
     */
    public static function getFields()
```

Таким образом мы в коде нередко видим такие вещи:

```
<?php
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;

// Получили поля. Всё ок.
$article->jcfields = FieldsHelper::getFields('com_content.article', $article, true);
```

Но поводом для написания этого поста стало несколько другое. В последнем примере кода `$article` - это объект материала, для получения которого мы создаём сначала модель, в модели создаётся объект базы данных... Итого это всё довольно тяжеловесно.

А если нам нужно просто получить поля со значениями, но как-то полегче? Для этого достаточно передать вместо `$article` массив или `stdClass` с ключом `id`.

```
<?php
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;

// Получили поля. Всё ок.
$fields = FieldsHelper::getFields('com_content.article', [ 'id' => 159 ], true);
```

Итого мы получили все поля (с учётом прав доступа и т.д.) для материала с `id` 159, но при этом сэкономили ресурсы сервера.

- [Пост в Telegram-канале](https://t.me/webtolkru/463)

## Об авторе

![Толкачев Сергей Юрьевич](https://web-tolk.ru/images/uslugi/sergey-tolkachyov-apr-2023.webp)

### Толкачев Сергей Юрьевич

Joomla-разработчик. [Контрибьютер ядра Joomla](https://github.com/joomla/joomla-cms/pulls?q=is%3Apr+author%3Asergeytolkachyov+). Один из ведущих Telegram-канала русскоязычного Joomla-сообщества [JoomlaFeed](https://t.me/joomlafeed), один из модераторов [чата русскоязычного Joomla-сообщества](https://t.me/joomlaru). Мои расширения в официальном маркетплейсе расширений Joomla - [Joomla Extensions Directory](https://extensions.joomla.org/profile/profile/details/528051/). Имею публикации в [официальном журнале международного Joomla-сообщества - Joomla Community Magazine](https://magazine.joomla.org/authors/sergeytolkachyov) и на [официальном сайте русскоязычного Joomla-сообщества](https://joomlaportal.ru/users/sergey-tolkachyov).

Муж. Отец 3 детей.

Россия, Саратов.

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@id": "https://web-tolk.ru/",
                "name": "Главная"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@id": "https://web-tolk.ru/blog",
                "name": "Блог"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "name": "Совет по Joomla: получение значений пользовательских полей в любом месте"
            }
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://web-tolk.ru/#/schema/Organization/base",
            "name": "WebTolk",
            "url": "https://web-tolk.ru/",
            "logo": {
                "@type": "ImageObject",
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo",
                "url": "images/webtolk-1080p.jpg",
                "contentUrl": "images/webtolk-1080p.jpg",
                "width": 1920,
                "height": 1080
            },
            "image": {
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo"
            },
            "sameAs": [
                "https://github.com/WebTolk",
                "https://github.com/sergeytolkachyov",
                "https://vk.com/web_tolk",
                "https://vk.com/webtolkru",
                "https://tenchat.ru/sergeytolkachyov",
                "https://t.me/sergeytolkachyov",
                "https://t.me/webtolkru"
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://web-tolk.ru/#/schema/WebSite/base",
            "url": "https://web-tolk.ru/",
            "name": "WebTolk",
            "publisher": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            }
        },
        {
            "@type": "WebPage",
            "@id": "https://web-tolk.ru/#/schema/WebPage/base",
            "url": "https://web-tolk.ru/blog/sovet-po-joomla-poluchenie-znachenij-polzovatelskikh-polej-v-lyubom-meste",
            "name": "Совет по Joomla: получение значений пользовательских полей в любом месте - WebTolk",
            "description": "Как получить пользовательские поля Joomla с помощью FieldsHelper с рендером значений в любом месте Php кода.",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "Article",
            "@id": "https://web-tolk.ru/#/schema/com_content/article/126",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebPage/base"
            }
        }
    ]
}
```
