Афиша на Data Life Engine (DLE), или DLE афиша своими руками =).
В статье намеренно опущены технические подробности в реализации.
Ее цель посвятить рядового пользователя как можно реализовать тот или ной раздел на DLE, не используя плагины.
Афиша — Раздел где можно узнать анонсы тех или иных мероприятий,будь это фильмы, концерты или вечеринки…
Попробуем решить задачу на базе DLE. И сделать для города Серова афишу.
Итак приступим, определим информацию которую хотим донести до пользователя.
1. Кинотеатры(Концертные залы):
Начну с кинотеатра. На них особо не буду заострять внимание у нас всего 1 кинотеатр где более менее нормальные фильмы, это КИНОТЕАТР «ЮБИЛЕЙНЫЙ».
Конечно сеанс в 300р это очень дорого. Если бы 100руб или 150руб стоил, клиентов было намного больше. Ну это не мне решать =)
Для кинотеатра или места проведения мероприятия нам понадобится:
1. Страничка (Описание, адрес, телефоны)
2. Несколько фотографий (для красивости)
3. Карта UMAP.ru. для схемы расположения кинотеатра/меропрятия.
Данные для публикации на сайте Фильмов/мероприятий:
1. Название
2. Жанр
3. Режисер
4. Год
5. Дата проведения мероприятия, или выхода фильма в прокат.
6. Продолжительность
7. Описание мероприятия,фильма.
8. Трейлер (а обязательном порядке, для фильма)
9. Рейтинг
10. Комментарии пользователейкоторые уже посмотрели фильм или побывали на мероприятии.
11. Ссылка для скачивания (Торрент или файло-обменник)
Если с основными полями такими как «жанр» и «название» все понятно… то с cсылками на скачивание немного иначе.
Но и это решается с помощью дополнительных полей.
При публикации фильма в афише я попытаюсь убить двух зайцев…
Заяц первый: Опубликовать фильм… с трейлером, описанием, рицензией и т.д.
Заяц первый: После окончания проката, фильм будет перемещен в раздел фильмов со всеми комментариями пользователей после просмотра и его рейтингом, также будут опубликованы ссылки для скачивания.
Пожалуйста не путайте раздел фильмы и афиша. Афиша будет обновляться 1 раз в неделю… пока на стадии разработки потом 2 раза в неделю. В свою очередь раздел фильмы будет постепенно пополняться, из которого фильмы можно будет в любое удобное время скачать, по предложенным ссылкам.
Ну, а мероприятия будут просто удалятся, на их место будут публиковаться новые.
Ну вот с целями и задачами определились, пора спланировать главную страничку для афиши.
Сделаем картинку, жанр, количество комментариев и описание фильма.
Просто так будет проще ориентироваться в тех фильмах в которые идут в «Юбилейном» их не так уж и много, обычно от 3 до 6.
Мероприятия будут расположены внизу под фильмами..
Будет название мероприятия, дата, время и место проведения.
Например:
Дворец Культуры Металлургов, Дискотека, 15 декабря, начало в 21-00, билеты в кассах.
Теперь пора переходить к подготовке разделов сайта, ввода полей, и модификации шаблона.
Начнем с категорий.
Все жанры будут в категориях
Ужасы, Комедия, Триллер, Фантастика, Историческое……
Создав нужные категории мы сможем одному фильму назначать несколько жанров.
Для описания фильма и вывода его по шаблону я буду использовать уже имеющийся в DLE механизм «ДОПОЛНИТЕЛЬНЫЕ ПОЛЯ НОВОСТЕЙ»
[xfgiven_Film_Ganr]Жанр: [xfvalue_Film_Ganr] [/xfgiven_Film_Ganr]
Для каждого свойства фильма будет поле.
— Film_GOD — Год выхода фильма
— Film_Ganr — Жанр1 — Жанр к которому относится фильм
— Film_Description — Описание фильма
— Film_Pic_Afiaha_small — Картинка на главной страничке афиши, как видно из названия, она маленькая =)
На данный момент я не решил как ее буду выводить картинку, из папки upload или со сторонего сайта, такого как kinopoisk.ru, наверно остановлюсь на последнем.
Данных полей вполне достаточно для вывода анонсов афиши.
Поля создаются в разделе ДОПОЛНИТЕЛЬНЫЕ ПОЛЯ НОВОСТЕЙ административной части сайта, в создании полей проблем не должно возникнуть, все просто и наглядно.
Далее делаем контейнер для показа 6 новостей(фильмов)… шаблон для вывода новости будем делать вручную.
При добавлении фильма в краткой(ShortStory) новости будет картинка обложки, которая будет загружаться либо на сайт либо будет вставлена с другого сайта.
Она будет уменьшена до размеров которые нам нужно с помощью CSS. Потому что бывали такие случаи когда пользователь не имея понятия о размерах картинки, загружал ее размеров в 5 раз больше, после чего сайт разъезжался.
В Полной {FullStory} новости будет ролик с YOUTUBE
Но дополнительные поля будут заполнены по смыслу, и для вывода их по шаблону (*.TPL).
Для размещения анонсов я создам основной контейнер со своим классом.
В нем же будет вывод контейнеров для непосредственно новостей(фильмов).
С помощью CSS можно сделать простой вывод фильмов.
Примерно вот так:
[html]
<div>
<div>Фильм1</div>
<div>Фильм2</div>
……
<div>ФильмN</div>
</div>
[/html]
Далее сохраняем в файле *.tpl и подключаем в шаблоне.
Т.е. в админке на против категории с фильмами жмем «правка» и в
поле «Шаблон для краткой новости» указываем наш *.TPL, расширение не указываем.
Есть идея описать всю техническую сторону, т.е. по шагам, что и где менялось
при создании афиши, похожей на афишу с сайта
По парламентариям и отзывам будет понятно продолжать или нет, данную статью =).
Update 07.06.2011
С момента написания статьи поменялось два шаблона. Сейчас на сайте стоит уже второй шаблон. Раздел афиша не ведется.
Выкладываю PTL файл для вывода афиши на главную страницу сайта..
[html] <div class="r-news"><div class="r-news-t">
<noindex> [full-link][xfvalue_afiha_description][/full-link]</noindex>
</div>
<div class="r-news-c">
{short-story}<b><span style="font-size:10pt;line-height:100%">"[xfvalue_afiha_descriptionup]"</span></b>
<div style="clear: both;height: 6px;"></div>
[xfvalue_afiha_data]<br /><br />
[xfvalue_afiha_raspisanie]<br />
[edit]ss_afiha_in_main[/edit] <div class="short-1-more">
[edit]Изменить[/edit] </div>
</div>
<div style="clear: both;height: 1px; background:#ccc; margin: 15px 0 0 0;"></div>
</div>
[/html]
Выкладываю PTL файл для вывода ПОЛОНОЙ афиши.
[html]
<div class="short-block">{date}<br />
<h3><span>{link-category}</span> </h3>
<div class="shot-text">
Мероприятие: [full-link][xfvalue_afiha_description][/full-link]<br /><br />
{short-story}
<b><!—sizestart:3—><span style="font-size:12pt;line-height:100%"><!—/sizestart—>"[xfvalue_afiha_descriptionup]"<!—sizeend—></span><!—/sizeend—></b>
<br/><br/><i>{full-story}</i><br/><br/>
<br/>[xfvalue_afiha_raspisanie]
<div style="margin: 15px 0 0 0; padding: 5px 5px 5px 0;clear: both;text-align: right; border: 1px solid #CCCCCC;
-moz-border-radius: 5px 5px 5px 5px;
-khtml-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;">
<noindex><div align="left" style="float:left; margin-top: -3px;" >{include file="social.tpl"}</div> автор {author} | просмотров {views} | комментариев [full-link]{comments-num}[/full-link]</noindex></div>
{poll}{pages}
<br />
<div class="sh-tags">теги {tags}</div>
</div>
<div style="height: 1px; clear: both;"></div>
[edit]<img src="{THEME}/images/edit-buttom.gif" alt="редактировать" border="0" />редактировать[/edit]
<div style="height: 10px;clear: both;"></div>
[group=5]<div class="registr-please">Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.</div>[/group]
[related-news]<div class="newsto"><span>Похожие статьи:</span>{related-news}</div>[/related-news]
<div style="height: 1px; clear: both;"></div>
</div>
[/html]
Все сделано через дополнительные поля.
Данная статья просто набросок обязательно будет и продолжение.
Тоже очень нужна афиша.
А возможно ли реализрвать фильтрацию мероприятия по дате???
По подробнее про фильтрацию как она должна происходить?
После написания статьи вышла версия 9.4, там можно выводить из любой категории любые новости и с любым количеством символов с помощью самого движка. Очень удобно.
Ну например создаем доп поле дата события.
При создании мероприятия забиваем в поле дату, когда это мероприятие произойдет.
Можно ли сделать так, чтобы пользователь выбирал дату и ему выводился список всех событий на эту дату???
C DLE только начал знакомство, поэтому прошу простить, если что то не знаю :smile:
Версия DLE 7.2
Да это можно.
Ой какая старая DLE, срочно обновитесь.
Я бы сделал так:
Включил исполнение php кода в шаблонах DLE.
И при добавлении новости в шаблоне addnews.tpl вывел бы своим скриптом список новостей на сегодня.
Только такое решение.
А зачем это вообще нужно?
Спасибо за ответ.
Хотим сделать афишу на несколько городов и чтобы пользователь мог выбирать дату, город и видеть какие мероприятия запланированы на выбранное число в выбранном городе.
Тогда надо не при добавлении делать а при просмотре какой либо новости.
Итак создаешь страницу или категорию, не важно. Назначаешь ей шаблон (переименованный short-story.tpl).
Далее создаешь дополнительные поля для новостей в категории с афишей например «АФИША».
Поле «Название мероприятия».
В шаблоне делаешь с помощью php выборку по дате всех новостей из категории. Дата заноситься в title новости при публикации, а название мероприятия в дополнительное поле.
Так ты сможешь контролировать выдачу.
Т.е. добавлять новости можно когда угодно, но выводиться они будут только тогда когда наступит нужная дата которая прописана в заголовке новости.
Salam :grin: :grin: :grin: :grin: :grin: :grin: :arrow: :arrow: :arrow: :arrow: :arrow:
Ой как путанно описанно. У меня тоже городской сайтик. афиша как воздух нужна. Кинотеатр один. Жду продолжения=)
Где именно у вас проблемы.
Расскажите подробнее, что описать.
Все делается доп полями. В DLE.
«Есть идея описать всю техническую сторону, т.е. по шагам, что и где менялось
при создании афиши, похожей на афишу с сайта ekabu.ru » надо описать очень надо
полное описание есть???
Дак описывать вроде и нечего. Я попытался рассказать о том что можно это реализовать и без плагинов.
Сейчас переделываю сайт… там будет афиша.
продолжаете хочу сделать такой модуль, очень нужен))))
Не вижу смысла в модуле.
Все делается с помощью возможностей движка.
Это упрощает его обновление и поддержку.