MV framework logo
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Документация
Скачать .zip версия 3.2.0 от 25.12.2024
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
MV tracker

Дополнительные возможности

MV позволяет делать дополнительную обработку данных внутри методов ядра. Для этого необходимо перегрузить методы модели.

Дополнительная валидация данных в модели

Допустим необходимо вносить данные в формате процентов '12%'. Нам необходимо проверить введенные данные на соответствие шаблону регулярного выражения.

class Discount extends Model
{
    protected $name = 'Скидки';

    protected $name_field = 'amount';

    protected $model_elements = [
        ['Активация', 'bool', 'active', ['on_create' => true]],
        ['Величина скидки, %', 'char', 'amount', [
                                          'required' => true,
                                          'help_text' => 'пример 10%, 17%, 30%']],
        ['Сумма, от', 'int', 'summ_from', ['required' => true]],
        ['Сумма, до', 'int', 'summ_to', ['zero_allowed' => false]]
    ];

    public function validate()
    {
        $amount = $this -> elements['amount'] -> getValue();
        
        if($amount && !preg_match('/^[1-9]d?%$/', $amount))
            $this -> errors[] = 'Величина скидки должна быть задана целым числом с % на конце.';
        
        return parent :: validate();
    }
}

Получение и изменение значений полей модели

Из объекта модели можно получить свойства ее полей, а также установить полям новые свойства.

  • getFieldProperty($field, $property) - получить значение свойства $property поля $field
  • setFieldProperty($field, $property, $value) - установить значение равное $value свойства $property поля $field
$value = $mv -> discount -> getFieldProperty('summ_to', 'zero_allowed'); 

if( ... ) 
    $mv -> discount -> setFieldProperty('summ_to', 'zero_allowed', true);

Форматирование полей в таблице

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

  • processAdminModelTableFields($name, $row) - где $name - название поля, $row - массив значений всех полей записи, включая id.
class Stock extends Model
{
    ...
   
   //Добавляем метод в модель и в колонке с весами рядом со значениями будут стоять 'кг'
    public function processAdminModelTableFields($name, $row)
    {
        if($name === 'weight' && $row['weight'] > 0)
            return $row['weight'].' кг';
    }
}

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

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

Следующий раздел

Общие принципы шаблонов
MV workshop banner
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться