Дополнительные поля к материалам в Joomla 3.7
X
Заказать сайт
Заказать сайт

Дополнительные поля к материалам в Joomla 3.7

На многих сайтах, посвященных новостям, музыке или программам часто можно увидеть под материалом список значений, например: автор, дата публикации, ссылка на что-либо и т.д. Таких полей может быть бесконечно много. Научим Joomla 3 выводить такие поля в своих публикациях.

Сразу скажу, что есть некоторое ограничение - дополнительные поля появились в Joomle 3.7 и старше. Поэтому обновляйте движок, а если это невозможно или у вас старая Joomla - читайте инструкцию.

Создание дополнительных полей в Joomla

Откройте Материалы > Группы полей (Field Groups) и создайте группу для ваших полей. Она будет являться своего рода папкой, в которой будут находиться ваши поля. Назовем ее "Отель".

Теперь откройте Материалы > Поля и Нажмите кнопку "Создать". Появится окно создания поля с множеством параметров.

Начните вводить "Заголовок" - автоматически продублируется поле "Название" (Label) (его мы увидим на сайте).

Поле "Имя" (Name) - автоматом создает в латинице программное имя поле - оно должно быть всегда уникальным.

В "Описание" вы можете ввести описание поля, а за счет переключателя "Обязательно" (Required) пометить какое поле должно быть заполнено редактором материала обязательно, прежде чем он сможет его сохранить.

"Значение по умолчанию" (Default Value) - это значение подставится автоматом при создании материала, его вы сможете изменить.

"Фильтр" (Filter) - служит для фильтрации данных, которые должен вводить редактор при заполнении полей, например, только цифры, буквы и т.п.

"Максимальная длина" (Maximum Length) - максимальная длина заполняемого поля в символах.

Справа не забудьте отметить к какой группе полей относится поля (в нашем примере это "Отель"), а также категорию, в которой это поле будет действовать, по умолчанию - во всех.

Это были основные настройки при создании дополнительного поля. Остался только самый важный параметр - Тип (Type) поля. Обычно используется Text - обычный, произвольный текст, но вы можете выбрать Календарь (позволит легко вывести дату), Цвет, Ссылку (с переходом по ней), Радиокнопки (очень удобная вещь - в админке вы сможете выбрать 1 из нескольких вариантов) и даже небольшую фотогалерею (List of Images) - вам нужно будет выбрать каталог с картинками, а в поле при редактировании материала просто их выбирать.

Создайте пару полей и сохраните их, затем заполните в материале в дополнительной вкладке и посмотрите, как они будут отображаться на сайте:

Если у вас, как и у меня отображаются кракозябры в полях, то откройте файл

/administrator/components/com_fields/helpers/fields.php найдите цикл

foreach ($fields as $key => $original), там будут условия типа

if ($valuesToOverride && key_exists($field->name, $valuesToOverride))
{
$field->value = $valuesToOverride[$field->name];
}
elseif ($valuesToOverride && key_exists($field->id, $valuesToOverride))
{
$field->value = $valuesToOverride[$field->id];
}
elseif (key_exists($field->id, $fieldValues))
{
$field->value = $fieldValues[$field->id];
}

if (!isset($field->value) || $field->value === '')
{
$field->value = $field->default_value;
}

после них поставить (или прописать в каждом - но это не точно): $field->rawvalue = $field->value;

Затем открыть файл:

/components/com_fields/layouts/field/render.php и замените строку $value = $field->value; на $value = $field->rawvalue;

Как вы видите на скриншоте, допполя отображаются после заголовка. Это можно изменить в настройках каждого поля, во вкладке "Параметры". Там будет пункт "Автоматическое отображение" (Automatic Display) - выберите, где должно показываться поле - после заголовка, перед текстом, после текста. Там же есть и другие полезные настройки, например, подсказка для редактора Placeholder и класс, с помощью которого можно задать уникальный класс и изменять дизайн поля как угодно за счет css.

Итак, дополнительные поля в Joomla 3.7 достаточно гибкие, как в плане настроек, так и удобства использования. К тому же, если вы программист, то без труда сможете использовать этот функционал под свои нужды, например поиск или фильтры.

| | Дополнительные поля к материалам в Joomla 3.7 | На многих сайтах, посвященных новостям, музыке или программам часто можно увидеть под материалом список значений, например: автор, дата публикации, сс | https://blogprogram.ru/wp-content/uploads/2017/12/865-131x131.jpg

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>