Пользовательские поля
Contents
Вступление
Настраиваемые поля позволяют пользователю добавлять поля в базу данных страницы. Настраиваемые поля появляются в интерфейсе панели администратора при создании или редактировании страниц.
Простой пример
Добавим поле Подзаголовок
Админ Панель > Боковая панель > Настройки > Основные > Настраиваемые поля
Добавим JSON код и нажмем кнопку "Сохранить".
{
"subtitle": {
"type": "string",
"placeholder": "Подзаголовок страницы",
"position": "bottom"
}
}
Теперь давайте создадим страницу:
Админ Панель > Управление > Новая запись
Как вы можете видеть, в нижней части редактора появилось новое поле, запрашивающее "подзаголовок для страницы". Заполните поля "заголовок", "содержание" и новое поле "субтитры для страницы"и нажмите на кнопку "Сохранить".
Теперь на любой странице есть переменная, которая хранит текст с поля "подзаголовок". Но обычные пользователи его не будут видеть, т.к. следует добавить эту переменную в настройки темы, чтобы она отображалась.
<?php
echo "The title of the page is " . $page->title();
echo "The subtitle of the page is " . $page->custom('subtitle');
?>
Структура поля в JSON.
Поле создается в формате JSON со следующими ключами
- (required)
type: Тип поля (string,bool). - (optional)
label: Метка поля. - (optional)
tip: Описание поля. - (optional)
default: Первоначальное значение поля. - (optional)
placeholder: Текст внутри поля. - (optional)
position: Расположение поля в редакторе, например (top,bottom).
Добавление пользовательского поля
Чтобы добавить пользовательское поле, перейдите:
Админ Панель > Боковая панель > Настройки > Основные > Настраиваемые поля
Чтобы создать поле, мы должны определить его в системе через JSON стурктуру. Пример:
Пользовательское поле string с именем youtube:
{
"youtube": {
"type": "string",
"label": "YouTube",
"tip": "Write the YouTube URL."
}
}
Пользовательское поле boolean с именем inStock:
{
"inStock": {
"type": "bool",
"label": "In Stock",
"tip": "Select this field if you have stock."
}
}
Два пользовательских поля с разными типа
{
"product": {
"type": "string",
"label": "Product",
"tip": "Write the product name."
},
"inStock": {
"type": "bool",
"label": "In Stock",
"tip": "Select this field if you have stock."
}
}
Три пользовательских поля с разными типами и разным положением в редакторе.
{
"product": {
"type": "string",
"placeholder": "Product name",
"position": "top"
},
"inStock": {
"type": "bool",
"tip": "Select this field if you have stock.",
"position": "top"
},
"imageURL": {
"type": "string",
"placeholder": "Image URL",
"position": "bottom"
}
}
Вызов пользовательского поля
Существует класс, который возвращает значения вызываемых полей - custom().
В следующем примере выводится значение поля youtube из приведенного ниже примера.
<?php
echo $page->custom('youtube');
?>
Проверка boolean значения в поле inStock из приведенного ниже примера.
<?php
if ($page->custom('inStock')) {
echo "There is stock!";
} else {
echo "No more products";
}
?>
Удаление пользовательских полей
Чтобы удалить пользовательское поле, вам достаточно убрать его JSON структуру в:
Админ Панель > Боковая панель > Настройки > Основные > Настраиваемые поля
Однако, это не удалит полностью поле из базы данных Bludit на вашем сайте, а лишь сделает его неактивным.
{}