MV framework logo
  • Архитектура
    • Философия
    • Технологии
    • CMF
    • История версий
  • Админ панель
  • Поддержка
  • Обратная связь
  • Примеры кода
    • Новостная лента
    • Слайдер с баннерами
    • Список с фильтрацией
    • Форма с загрузкой файла
    • AJAX форма на jQuery
    • Вопросы и ответы
    • Каталог с товарами
    • Авторизация пользователя
    • Регистрация пользователя
    • Личный кабинет пользователя
Скачать Версия 2.7 от 06.06.2023
Документация
  • Архитектура
    • Философия
    • Технологии
    • CMF
    • История версий
  • Админ панель
  • Поддержка
  • Обратная связь
  • Примеры кода
    • Новостная лента
    • Слайдер с баннерами
    • Список с фильтрацией
    • Форма с загрузкой файла
    • AJAX форма на jQuery
    • Вопросы и ответы
    • Каталог с товарами
    • Авторизация пользователя
    • Регистрация пользователя
    • Личный кабинет пользователя
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
Модели (models)
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны (views) и маршрутизация (routes)
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Index, default и 404 шаблоны
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Правила проверки полей формы
  • Проверка полей формы
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
  • Загрузка из csv файлов
Сессии и безопасность
  • Работа с сессиями
  • AJAX
  • Кэширование
  • Безопасность
  • Отладка
Плагины
  • Общие принципы плагинов
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
Модели (models)
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны (views) и маршрутизация (routes)
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Index, default и 404 шаблоны
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Правила проверки полей формы
  • Проверка полей формы
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
  • Загрузка из csv файлов
Сессии и безопасность
  • Работа с сессиями
  • AJAX
  • Кэширование
  • Безопасность
  • Отладка
Плагины
  • Общие принципы плагинов
  • Дополнения к административной панели
MV tracker

Простые модели

Простые модели используются для хранения уникальных данных и отличаются от обычных следующими признаками:

  1. Класс модели наследуется от класса "Model_Simple".
  2. SQL таблица модели содержет всего 2 поля "key" и "value", где "key" - строковый первичный ключ, "value" - текстовое поле (можно использовать строковый тип данных если не предполагается наличие многострочного текста в значениях полей).
  3. При создании модели значения ключей в таблицу заносить не обязательно, в MV это делается автоматически.

В остальном создание простой модели подчиняется принципам, описанным в разделе Общие принципы моделей.

Пример 1

<? 
class Seo extends Model_Simple
{
   protected $name = "SEO параметры";

   protected $model_elements = array(
      array("Заголовок", "char", "title"),
      array("Ключевые слова", "text", "keywords"),
      array("Описание", "text", "description"),
      array("Robots.txt", "text", "robots")
   );
}
?>
CREATE TABLE `seo` (
  `key` varchar(100) NOT NULL,
  `value` text,
  PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Пример 2

<?
class Site_Params extends Model_Simple
{
    protected $name = "Параметры сайта";

    protected $model_elements = array(
        array("Показывать баннер", "bool", "show_banner"),
        array("Слоган на главной", "char", "slogan"),
        array("Получатель сообщений с сайта", "email", "email", array("required" => true)),
        array("Количество новостей на главной", "int", "news_number", array("required" => true, 
                                                                            "positive" => true, 
                                                                            "zero_allowed" => false)),
        array("Текст в нижней части", "text", "footer_text", array("rich_text" => true)),
    );
}
?>
CREATE TABLE `site_params` (
  `key` varchar(100) NOT NULL,
  `value` text,
  PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Пример 3

<?
class Settings extends Model_Simple
{
    protected $name = "Настройки проекта";

    protected $model_elements = array(
        array("Показывать баннер", "enum", "promo", array("empty_value" => "Всегда", 
                                                          "values_list" => array("morning" => "Утром", 
                                                                                 "evening" => "Вечером", 
                                                                                 "night" => "Ночью"))),
        array("Дата приема заявок", "date_time", "work_date"),
        array("Прайс лист", "file", "price_file"),
        array("Картинка в верхней части", "image", "top_image"),
        array("Галерея изображений", "multi_images", "gallery"),
    );
}
?>
CREATE TABLE `settings` (
  `key` varchar(100) NOT NULL,
  `value` text,
  PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Процесс извлечения данных простых моделей в шаблоны описан в разделе Вывод данных в шаблоне.

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

Настройка модели

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

Внешние ключи
MV tracker

© 2012-2023, MV framework team

English MV task tracker system Лицензия

Поделиться