|
Поиск по сайту
Информеры
|
Комплексные компоненты
01.10.2009
Пример Расмотрим упрощенный пример работы комплексного компонента новостей. Пусть у нас есть обычные компоненты список новостей и детальной новости (последний принимает во входных параметрах код новости, которую нужно показать). Раздел новостей можно организовать, например, разместив на странице index.php компонент списка новостей, а на странице news.php - компонент детальной новости. При этом у компонента списка новостей нужно настроить входные параметры так, чтобы он мог формировать ссылки на страницу детальной новости (с кодом новости), а у компонента детальной новости нужно настроить входные параметры так, чтобы он мог формировать ссылку на страницу списка новостей. Для того, чтобы задать ссылку на страницу детальной новости, нужно задать путь к этой странице, а так же название параметра, в котором будет передаваться код новости для показа. То же название параметра нужно задать и во входных параметрах компонента детальной новости, чтобы он знал, где брать код новости для показа. Даже в данном максимально упрощенном случае настройки не так просты. А если это набор из десятков компонентов форума? Более удобной альтернативой для сборщика сайта будет использование комплексного компонента новостей. Этот компонент, например, можно просто установить на страницу index.php и все. Согласованием ссылок и параметров будет заниматься сам комплексный компонент. От сборщика сайта никаких дополнительных действий не потребуется. Для создания комплексного компонента новостей нам необходимо создать новый компонент, в коде которого проверить, пришел ли в параметрах код новости. Если код новости пришел, то нужно подключить страницу шаблона комплексного компонента, которая предназначена для показа детальной новости, а если не пришел - страницу для показа списка новостей. Страницы шаблона комплексного компонента будут содержать подключение соответствующих обычных компонентов с правильной настройкой их входных параметров. Обычные компоненты будут выполнять свою обычную работу. Им все равно, кто их вызвал и зачем. Для обычных компонентов важна только правильная настройка их входных параметров. Таким образом реализуется паттерн MVC: на комплексный компонент новостей (controller) приходит HTTP запрос (действия пользователя); комплексный компонент новостей (controller) проверяет, установлен ли через HTTP запрос код новости и подключает из своего шаблона страницу списка новостей или страницу детальной новости (view); подключенная страница в свою очередь подключает соответствующий обычный компонент, устанавливая при этом его входные параметры соответствующим образом; обычный компонент выполняет свою работу: запрашивает данные у ядра (model), форматирует их и выводит посетителю, а так же предоставляет пользователю различные элементы управления (ссылки, формы, кнопки и т.п.); пользователь с помощью каких-либо элементов управления, посылает новый HTTP запрос на комплексный компонент новостей (controller); и далее по кругу. Страница 2 - 2 из 2 Начало | Пред. | 1 2 | След. | Конец Количество показов: 4653 Автор: Алексей Кирсанов Рейтинг: 3.3
|
Online-сервисы
Оплата ЖКУ online
Важные телефоны
Телефон УК: (495) 548 6759
Диспетчерская служба (круглосуточно):
Диспетчерская служба телевещания:
Газовая служба:
Обслуживание домофонной системы:
Адрес УК
Последние объявления
11.06.2026 График работы УК 12-14 июня 2026
19.05.2026 Повторная опрессовка газового оборудования в доме №4 14.05.2026 Опрессовка ВДГО дом №4 14.05.2026 Опрессовка ВДГО дом №4 13.05.2026 Ремонтно-восстановительные работы в доме №2 09.05.2026 С Днём Великой Победы! 07.05.2026 Отключение газоснабжения в доме №1,подьезд №3 07.05.2026 Отключение газоснабжения в доме №1,подьезд №2 07.05.2026 Отключение газоснабжения в доме №1,подьезд №1 04.05.2026 Работы по опрессовке ВДГО, дом 5 04.05.2026 Работы по опрессовке ВДГО, дом 4 04.05.2026 Работы по опрессовке ВДГО, дом 3 04.05.2026 Работы по опрессовке ВДГО, дом 2 04.05.2026 Работы по опрессовке ВДГО, дом 1 15.04.2026 Проверка пожарной сигнализации - дом №24 15.04.2026 Проверка пожарной сигнализации - дом №23 15.04.2026 Проверка пожарной сигнализации - дом №22 15.04.2026 Проверка пожарной сигнализации - дом №21 06.04.2026 Проверка газовых сетей - дом №4 06.04.2026 Проверка газовых сетей - дом №3 |