Как сделать разный размер ширины контента на страницах в DLE или для каждой страницы свое оформление, где разделы будут иметь свой цвет или окраску без применения других шаблонов, а также других методов применения? В этом FAQ для DataLife Engine вы узнаете, как получить подобный результат самым эффективным способом, чтобы не нагружать большим количеством запросов и не увеличивать вес страниц стилями или хаками дле.
Возможно у многих было желание, что нужно задать определённую ширину контента главной страницы, например 500px.
Для этого вписывали примерно такой стиль в DIV:
<div style="width:500px;">
{info}
{content}
{content}
</div>
Способ часто применяется, но у него есть один минус - ширина контента меняется во всех разделах сайта: в категориях, профиль, полной новости и т.д..
Для того, чтобы использовать другой размер в 850 пикселей, например в fullstory.tpl добавляли ещё один div:
<div style="width:850px;">
контент
</div>
Не очень удобно, правда?
Есть способ гораздо проще и в этом нам помогут теги о которых многие даже не знают, а ведь если посмотреть документацию dle10.1.zip/Documentation/readme.chm можно многое подчеркнуть.
Наша цель:
Контент на главной странице должен занимать 500px в ширину, остаток 460px для других нужд.
Но при этом контент в других разделах должен занимать всё пространство 960px.
Решение:
1. Внимание! Все действия происходят теперь только в вашем шаблоне main.tpl
Для этого нам помогут теги
[aviable=раздел][/aviable] и [not-aviable=раздел][/not-aviable]
Стоит заметить, что вся информация по использованию тегов в DataLife Engine взята из архива с движком dle10.1.zip/Documentation/readme.chm смотрите разделы:
Работа с движком (Вывод новостей на страницах) и Шаблоны (тут смотрим, что нужно больше).
В этой инструкции по применению вы сможете подчеркнуть следующие возможности.
2. Берем код ранее выше уже показанный, где контент имел ширину 500px и заключаем его в div:
<div style="width:500px;">
{info}
{content}
{content}
</div>
3. Далее заключаем его в тег
[aviable=main][/aviable]
:вот таким образом
[aviable=main]<div style="width:500px;">
{info}
{content}
</div>[/aviable]
Таким образом код с контентом шириной в 500px, или весь контент будет отображаться только на главной странице и больше нигде. Т.е если вы зайдёте в новость или в профиль, то нечего не увидеть.
4. Добавьте ещё один код пониже там же выше или ниже значение не имеет:
[not-aviable=main]
{info}
{content}
[/not-aviable]
Этот код означает, что контент не будет отображаться на главной странице, а на остальных страницах будет иметь полный размер прописанный в стилях вашего файла CSS.
В итоге мы получили в main.tpl следующие строчки:
[aviable=main]
<div style="width:500px;">
{info}
{content}
{content}
</div>
[/aviable]
[not-aviable=main]
{info}
{content}
{content}
[/not-aviable]
Простыми словами:
На главной странице колонка с темами будет шириной в 500px, а во всех остальных разделах контент останется оригинальным, т.е. 960px, как это задумано дизайнером верстки.
Задача решена)
Есть гораздо проще вариант данной реализации
Делается так
<div class="content[aviable=main]main[/aviable]">
{info}
{content}
{content}
</div>
Где main это стиль который прописывает в стилях любого файла CSS, (которая будет только на главной) .content (для всех остальных страниц) например
.main{ width:500px;
}
.content{ width:960px;
}
В результате вы получите тоже самое при чем теги можно устанавливать почти до бесконечности
<div class="content[aviable=main]main[/aviable][aviable=showfull]fullstory[/aviable][aviable=pm]pm[/aviable]">
{info}
{content}
{content}
</div>
и т.д.Вот и все на этом
Комментарии 1