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

beforeUpdate

Ответов: 8
Артём
21.11.2016 14:24

В качестве защиты от дурака хочу запретить редактирование index страницы в Pages. Попробовал использовать метод beforeUpdate в соответствии с документацией, однако обновление URL без проблем происходит. Что я делаю не так?

protected function beforeUpdate($id,$old_fields,$new_fields) {
        if($old_fields["url"]=="index") return $new_fields["url"]="index";
    }
Прочтений: 1385
Ответов: 8
Admin
21.11.2016 17:06

Попробуйте так

if($old_fields["url"] == "index")
{
    $new_fields["url"] = "index";
    return $new_fields;
}
Артём
24.11.2016 12:32

Спасибо, сработало.

Артём
25.11.2016 13:21

Подскажите, а можно как-то предотвратить обнуление полей, которые обозначены в модели как hidden_fields, при обновлении записи?

Артём
25.11.2016 13:24

Пока решаю вопрос так... см.код может есть ещё варианты?

$entry=$this->selectOne(array("id"=>$id));
$new_fields['password']=$entry['password'];
Maxim
26.11.2016 13:42

А они и не должны обнуляться, напишите пожалуйста такие моменты:

1. версию MV
2. обновление идет из админки или frontend? если frontend то через модель или record?
3. поле у вас записано в not_editable_fields?

Артём
26.11.2016 19:09

1) 1.8
2) Обновление из админки
3) Не записано

Объясню на примере... Есть модель Posts, в ней есть поле Views (в него заносится количество просмотров). В backend поле скрыто через hidden_fields. При обновлении модели оно обнуляется. Пока спасаемся вот такой конструкцией.....

protected function beforeUpdate($id,$old_fields,$new_fields) {
        $entry=$this->selectOne(array("id"=>$id));
        return array("views"=>$entry['views']);
    }
Максим
29.11.2016 09:43

Добавьте поле views в модели еще в массив not_editable_fields и оно перестанет участвовать в обновлении в админке, но его можно будет обновлять на frontend через Record

Артём
29.11.2016 10:11

Не догадался. Спасибо.

Ответить на вопрос
Ответить
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться