MV framework logo
  • Архитектура
    • Философия
    • Технологии
    • CMF
    • История версий
  • Админ панель
  • Поддержка
  • Обратная связь
  • Примеры кода
    • Новостная лента
    • Слайдер с баннерами
    • Список с фильтрацией
    • Форма с загрузкой файла
    • AJAX форма на jQuery
    • Вопросы и ответы
    • Каталог с товарами
    • Авторизация пользователя
    • Регистрация пользователя
    • Личный кабинет пользователя
Скачать Версия 2.6 от 07.10.2022
Документация
  • Архитектура
    • Философия
    • Технологии
    • 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
  • Кэширование
  • Безопасность
  • Отладка
Плагины
  • Общие принципы плагинов
  • Дополнения к административной панели

Слайдер с баннерами

Создаем файл модели models/banners.model.php

<?
class Banners extends Model
{
    protected $name = "Баннеры на главной";
    
    protected $model_elements = array(
        array("Активировать", "bool", "active", array("on_create" => true)),
        array("Название", "char", "name", array("required" => true)),
        array("Ссылка", "char", "url"),
        array("Изображение", "image", "image", array("required" => true)),
        array("Текст", "text", "content"),
        array("Позиция", "order", "order")
    );
   
    public function display()
    {
        $rows = $this -> select(array("active" => 1, "order->asc" => "order"));
        $html = "";
           
        foreach($rows as $row) 
        {
             $html .= "<div class=\"slide\">\n";
               
             if($row["url"])
                 $html .= "<a class=\"url\" href=\"".$row["url"]."\">\n";
               
             $html .= $this -> cropImage($row["image"], 1920, 400));

             if($row["content"])
             {
                 $html .= "<div class=\"text\">\n<div class=\"header\">".$row["name"];
                 $html .= "</div>\n".$row["content"]."</div>\n";
             }

             if($row["url"])
                 $html .= "</a>\n";
               
             $html .= "</div>\n";
        }
           
        return $html;
    }
}
?>

Вносим название модели в файл config/models.php

$mvActiveModels = array('pages', 'blocks', ... , 'banners');

Создаем SQL таблицу в базе данных, после чего модель может работать в административной панели

CREATE TABLE `banners` (
  `id` int(11) NOT NULL,
  `active` tinyint(1) NOT NULL,
  `order` int(11) NOT NULL,
  `name` varchar(150) NOT NULL,
  `url` varchar(250) NOT NULL,
  `image` varchar(150) NOT NULL,
  `content` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER TABLE `banners` ADD PRIMARY KEY (`id`), ADD KEY `active` (`active`);
ALTER TABLE `banners` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

Выводим список баннеров в нужном месте шаблона и прикрепляем к нему понравившийся javascript слайдер

<div id="banners-slider">
    <? echo $mv -> banners -> display(); ?>
</div>

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

Новостная лента

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

Список с фильтрацией

© 2012-2023, MV framework team

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

Поделиться