Слайдер с баннерами
Создаем файл модели 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>
Предыдущий раздел
Новостная лента