Все для DataLife Engine / Все для DLE / FAQ по DataLife Engine / Разный размер ширины контента на страницах в DLE

Разный размер ширины контента на страницах в DLE


Как сделать разный размер ширины контента на страницах в DLE или для каждой страницы свое оформление, где разделы будут иметь свой цвет или окраску без применения других шаблонов, а также других методов применения? В этом FAQ для DataLife Engine вы узнаете, как получить подобный результат самым эффективным способом, чтобы не нагружать большим количеством запросов и не увеличивать вес страниц стилями или хаками дле.

Возможно у многих было желание, что нужно задать определённую ширину контента главной страницы, например 500px.
Для этого вписывали примерно такой стиль в DIV:
<div style="width:500px;">

{info}
{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}

</div>


3. Далее заключаем его в тег
[aviable=main][/aviable]
:
вот таким образом
[aviable=main]<div style="width:500px;">

{info}
{content}
</div>[/aviable]


Таким образом код с контентом шириной в 500px, или весь контент будет отображаться только на главной странице и больше нигде. Т.е если вы зайдёте в новость или в профиль, то нечего не увидеть.

4. Добавьте ещё один код пониже там же выше или ниже значение не имеет:
[not-aviable=main]

{info}
&#123;content}

[/not-aviable]


Этот код означает, что контент не будет отображаться на главной странице, а на остальных страницах будет иметь полный размер прописанный в стилях вашего файла CSS.

В итоге мы получили в main.tpl следующие строчки:
[aviable=main]
<div style="width:500px;">

{info}
{content}

</div>
[/aviable]


[not-aviable=main]

{info}
{content}

[/not-aviable]


Простыми словами:
На главной странице колонка с темами будет шириной в 500px, а во всех остальных разделах контент останется оригинальным, т.е. 960px, как это задумано дизайнером верстки.

Задача решена)

Есть гораздо проще вариант данной реализации
Делается так
<div class="content[aviable=main]main[/aviable]">

{info}
{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}

</div>
и т.д.

Вот и все на этом

Raznaya-shirina-kontenta-na-raznyh-stranicah.rar [2,71 Kb] (cкачиваний: 83)
  • 40

Комментарии 1

Андрей от 3 марта 2019 22:59
Вот это от души тебе респект, друщиже! Очень помог!
Я уж хотел скриптами городить огород, а тут все просто и красиво.
Спасибо!
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent