Пользовательские поля

Contents

    Вступление

    Настраиваемые поля позволяют пользователю добавлять поля в базу данных страницы. Настраиваемые поля появляются в интерфейсе панели администратора при создании или редактировании страниц.

    Простой пример

    Добавим поле Подзаголовок

    Админ Панель > Боковая панель > Настройки > Основные > Настраиваемые поля

    Добавим JSON код и нажмем кнопку "Сохранить".

    {
        "subtitle": {
            "type": "string",
            "placeholder": "Подзаголовок страницы",
            "position": "bottom"
        }
    }

    Теперь давайте создадим страницу:

    Админ Панель > Управление > Новая запись

    Как вы можете видеть, в нижней части редактора появилось новое поле, запрашивающее "подзаголовок для страницы". Заполните поля "заголовок", "содержание" и новое поле "субтитры для страницы"и нажмите на кнопку "Сохранить".

    Теперь на любой странице есть переменная, которая хранит текст с поля "подзаголовок". Но обычные пользователи его не будут видеть, т.к. следует добавить эту переменную в настройки темы, чтобы она отображалась.

    Примечание
    Любая тема строится по шаблону, в любой теме есть папка **PHP** в ней находятся эти шаблоны. Если мы хотим вывести "подзаголовок" на странице материала, то выберем файл **page.php** и добавим текст в место где хотим видеть "подзаголовок".
    <?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 на вашем сайте, а лишь сделает его неактивным.

    {}