Примерно такую разметку для создания сайта тематики фильмы онлайн на базе dle мы и будем делать и начнем по порядку — с заголовка. Вся страница строится на дополнительных полях и в поле для полной / короткой новости нужно добавлять лишь описание к ролику. расписывать, что такое доп. поля, как внедряются и т.д. я тут не стану. Для этого есть отдельная статья:
DLE – разработка шаблона на дополнительных полях
Название фильма
Заголовок для фильма это и есть название статьи – тег title
<h1>{title}</h1>
Постер и описание
Вот небольшой код, где предусмотрено практически все.
[xfgiven_poster]
<div class="poster">
<img src="/[xfvalue_poster]" />
</div>
<div class="filmanc">
<b>Год выхода:</b> [xfvalue_yearpremier]<br/>
<b>Страна:</b> [xfvalue_country]<br/>
<b>Режисер:</b> [xfvalue_director]<br/>
<b>Актеры:</b> [xfvalue_actors]<br/>
<b>Жанр:</b> {link-category}
</div>
[/xfgiven_poster]
Блок обнесен тегами xfgiven, которые не выведут кусок кода, если не заполнено поле с постером. Сделано это на случай, когда на сайте будет публиковаться обыкновенная статья (новости кино индустрии). Тогда этот каркас не появится и все картинки и текст пойдут через поле полной новости
Описание фильма
Тут все просто. Вслед за куском выше располагаем тег full-story.
<div class="fulltext">
{full-story}
</div>
И сразу убиваем пару зайцев. Выше упоминалось, что xfgiven реагируют на поле с постером и не покажут весь кусок выше, если оно пустое. Так вот, останется только вот это поле – фуллстори, где и будет размещен весь текст для случаев ниже:
Код ролика, портянка и прочее
Тут тоже пришлось мозг напрягать и правильно настраивать теги xfgiven и xfnotgiven, которые, в зависимости от заполнения поля выведут заготовку (а-ля произошла ошибка и трейлер не может загрузиться, а на самом деле поле пустое и никогда не будет заполнено) либо не покажут блок вообще (все та же статья, где блок с роликами не нужен).
За основу взял вот этот скрипт табов, но пришлось повозиться с проставлением стилей float и width, т.к. css слегка устарел и с div-ами начинает тупить.
Т.к. исходник громоздкий и очень непонятен, вот скриншот из редактора:
Внимательно смотрим на содержимое первой вкладки и наличие упоминавшихся выше xfgiven и xfnotgiven, и разбираемся.
<div id="tab1" class="tab_content">
[xfnotgiven_movie]
Возникла ошибка при воспроизведении видео. Сообщите нам об этом просто выделив текст и нажав Ctrl+Enter
[/xfnotgiven_movie]
[xfgiven_movie]
<iframe src="http://vk.com/video_ext.php?oid=[xfvalue_movie]" width="650" height="360" frameborder="0"></iframe>
[/xfgiven_movie]
</div>
xfnotgiven_movie — если поле movie осталось пустым, то будет выведено содержимое внутри тегов. xfgiven_movie — если поле задано, то будет выведен текст внутри этих тегов. Два варианта обязательны именно в таком виде, иначе будет выводить и то, и то в зависимости от ситуации.
Ролик vk странный? Почти! Да бы не решать проблему ширины плеера с каждым новым дизайном html, оболочка неизменна и в поле вставляется лишь адрес ролика.
Вот и все. Наши онлайн фильмы готовы. Со знаниями доп. полей я сделал все это за день и еще пару дней оформлял!
Комментарии