|
Веб-курсы Что это? Оглавление Основы Основы основ Практика Гостевая книга Простой сайт Структура сайта (MVC) Ядро (Light) Ядро Гостевая на SQL Статические страницы Модуль новостей Система регистрации Теория Дебаггинг Регулярные выражения Введение в ООП Паттерны проектирования Репозитарий BB-code Почтовый класс Пагинатор Всякие полезности Download Полезные утилиты Разное Видеокурсы Последние изменения Вопросы и замечания сюда Реклама Диеты для похудения Фреймворк Kohana. Обучение. Мануал на русском. кино онлайн бесплатно, правило регистрация. |
Шаг 1ПодготовкаОдним из наиболее востребованных и простых функционалов, которыые обычно помещаются на главную (да и не только) страницу сайта, является лента последних новостей. Вот и мы не останемся в стороне от главных мировых событий и сотворим что то по образу и подобию.Возьмем уже готовый движок с прошлого занятия и немного его доработаем. Начнем с базы данных. У нас она уже есть, осталось добавить таблицу. Таблица будет состоять из следующих полей:
Вот запрос на создание такой таблицы. Уже сразу заполненной:
Теперь подробнее. Ну с идентификатором понятно - должен быть порядок. Дальше дата. Тип поля timestamp, чтобы не заботиться о установке даты в запросе. Потом идет заголовок новости, куда без него. Сам текст, ну и флаг публикации. Он нужен для того, чтобы имелась возможность сначала спокойно написать новость, проверить, исправить, а потом только опубликовать. Ну и для архива сойдет. Теперь добавим в наш движок модуль новостей. Вот тут можно изменить структуру, чтобы не плодить множество файлов и подключений. Так как функционал новостей очень небольшой, то вполне поместится в одном контроллере. А значит отпадает необходимость в роутере, вьюшке, да и самой директории модуля. Просто возьмем и положим (пока пустой) контроллер прямо в папку modules.
Ну и подключим в главный индекс. Вот тут и становится понятной выгода переключателя swith перед обычной подстановкой названия в путь. Этот способ у нас реализован в роутерах модулей, а в главном индексе имеется возможность подключить несколько разных модулей на одну страницу. В индексе поправим так:
Что это дает. А то, что новости мы теперь можем вывести не только на главной странице, а на любой другой по желанию. И даже отдельно. Стоит только подключить этот контроллер в case любого модуля. А для полноты ощущений нам необходим шаблон, в который и будут выводится новости. Организуем в скинах для него папку news, и положим в неё шаблон: skins/tpl/news/rows.tpl
Ну и в шаблоне главной страницы нужно определить место, куда мы поместим самые свежие новости и будем радовать ими наших многочисленных посетителей. Изменим шаблон главной страницы: skins/tpl/main/show.tpl
Ну вот, подготовительные работы окончились. Приступим к самой кулинарии. |