Документация

Начало работы

Модели (models)

Шаблоны (views) и маршрутизация (routes)

Формы

SQL запросы

Сессии и безопасность

Плагины

Управление простыми моделями

  • setValue($field, $value) - установка значения поля для последующего использования и/или обновления
  • getEnumTitle($field) - получить название (не ключ!) поля типа "enum"
  • update() - обновление данных простой модели (записи новой версии не происходит).
  • increaseCounter($field, [$value]) - увеличение значения счетчика на 1, если передан необязательный аргумент, то значение будет увеличено на величину аргумента. Для создания счетчика, нужно добавить в простую модель целочисленное поле, в котором далее будет храниться значение счетчика.
  • decreaseCounter($field, [$value]) - уменьшение значения счетчика на 1, если передан необязательный аргумент, то значение будет уменьшено на величину аргумента.
  • combineEmails([$fields]) - берет все поля типа "email" и склеивает их символом ",", в необязательном параметре можно передать названия полей которые нужно вернуть в виде массива, если аргумент не передан, вернутся все заполненные поля типа "email".

Внимание! Вызов методов "update()", "decreaseCounter()" и "combineEmails()" не приводят к созданию версии в истории изменений.

Примеры

//Создаем простую модель
class Options extends Model_Simple
{
    protected $name = "Настройки";

    protected $model_elements = array(
        array("Показывать баннер", "bool", "banner_active"),
        array("Email администратора", "email","admin-email", array("required" => true)),      
        array("Email администратора (заказы)", "email", "admin-email-2"),
        array("Email администратора (обратная связь)", "email", "admin-email-3"),
        array("Телефон", "phone", "phone"),
        array("Счетчик скачиваний", "int", "counter"),
        array("Акция дня", "enum", "promo", array("values_list" => array("discount" => "Скидка 10%", 
                                                                         "tickets" => "Билеты на концерт", 
                                                                         "gift" => "Специальный подарок"))),
        array("Рекламный текст", "text", "text"),
        array("Прайс лист", "file", "price"),
        array("Баннер", "image", "banner"),
        array("Галерея изображений", "multi_images", "gallery")
    );

    protected $model_display_params = array( 
        
        //Закрываем счетчик для редактирования и разбиваем на вкладки
        "not_editable_fields" => array("counter"),
        "fields_groups" => array("Основные настройки" => array("banner_active", "admin-email", "admin-email-2", 
                                                               "admin-email-3", "phone", "counter", 
                                                               "promo", "price", "banner"),
        "Текст" => array("text"),
        "Галерея" => array("gallery"))
    );
}

//Извлечение данных
echo $mv -> options -> phone;
echo $mv -> options -> getEnumTitle("promo");

$record = $mv -> options -> loadIntoRecord();
echo $record -> text;

if($record -> banner_active)
    echo $record -> cropImage("banner", 200, 200);

echo $record -> displayFileLink("price", "Скачать файл");

//Обновление данных простой модели
$mv -> options -> setValue("admin-email-2", "user@mail.com") -> setValue("text", "Test message!");
$mv -> options -> update();

//Увеличение и уменьшение счетчиков
$mv -> options -> increaseCounter("counter");
$mv -> options -> increaseCounter("counter", 3);

$mv -> options -> decreaseCounter("counter");
$mv -> options -> decreaseCounter("counter", 8);

//Создание списка email адресов
$recipients = $mv -> options -> combineEmails();
Email :: send($recipients, "Сообщение с сайта", "Текст сообщения");

Предыдущий раздел

Управление записями