• 1479
  • 0
  • Автор: irbees2008
  • Адаптировал: irbees2008
  • Уровень сложности исполнения: Справочник

Часто нам или заказчику нужно чтобы разные категории на сайте имели свое оформление новостей и сайта в общем. Ну в NGcms есть множество вариантов оформления главной страницы, категорий и новостей.
Ну мы попробуем рассмотреть все варианты.
Вариант 1.
Плагин multi_main позволяет Вам настраивать выбор между разными main.tpl в зависимости от
- Главной страницы
- Групп пользователей
- Категорий новостей
Особенности работы плагина:
- Файлы шаблонов должны распологаться в корневом каталоге вашего активного шаблона
- В качестве названия шаблона необходимо указывать имя файла без расширения
- Плагин не делает запросы к БД
Т.е мы можем использовать разные main.tpl для оформления.

Вариант 2.
Используем свое оформление для категорий .
1.Создаем директорию ncustom в папке нашего шаблона
screenshot_21.png (20.92 Kb)
2.В директории создаем папки с любым названием на моем примере это m1 и m2
screenshot_22.png (21.32 Kb)
3.В папки m1 и m2 закидываем файлы
news.full.tpl
news.print.tpl
news.short.tpl
news.search.tpl
comments.error.tpl
comments.external.tpl
comments.form.tpl
comments.internal.tpl
comments.show.tpl
Со своим оформлением.
4.Идем Ваш сайт/engine/admin.php?mod=categories и редактируем категорию
screenshot_25.png (31.66 Kb)
Шаблон для новостей категории выбираем нужный шаблон m1 или m2 .Ну с этим вариантом все.

Вариант 3.
Третий вариант заменяет первые два варианта.Этот вариант использует TWIG, и с ним все вроде не сложно и использовать можно для любого файла шаблона.
И практически одним условием меняем все оформление сайта.

Код:
{% if isCategory('some_cat') %}
Блок на страничке со списком новостей из категории some_cat
{% endif %}
Т.е. то что заключено в это условие и будет показано в категории some_cat
Вот пример из шаблона city-skyline файл news.short.tpl
Код:
[TWIG]
{% if isCategory('1') %}
<div class="sep">
<h2 class="short"><a href="{{ news.url.full }}">{{ news.title }}</a></h2>
{% if pluginIsActive('rating') %}<span class="pull-right">{{ plugin_rating }}</span>{% endif %}
<span class="meta">Автор: {% if pluginIsActive('uprofile') %}<a href="{{ news.author.url }}">{% endif %}{{ news.author.name }}{% if pluginIsActive('uprofile') %}</a>{% endif %} от {{ news.date }}, просмотров {{ news.views }}, {{ news.categories.masterText }}</span>
<hr class="soften">
<a href="{{ news.url.full }}">
<div class="m20">
{% if (news.embed.imgCount > 0) %}
<img src="{{ news.embed.images[0] }}" alt="{{ news.title }}" title="{{ news.title }}" />
{% else %}
<img src="{{ tpl_url }}/images/no_image.jpg" alt="{{ news.title }}" title="{{ news.title }}" />
{% endif %}
</div>
</a>
<p class="story">{{ news.short|truncateHTML(600,'...')|striptags }}</p>
<a class="btn btn-info" href="{{ news.url.full }}">Подробнее {% if pluginIsActive('comments') %}<span class="entypo-comment active"></span> {comments-num}{% endif %}</a>
</div>
{% endif %}

{% if isCategory('2') %}
<div class="row-fluid sep">
<div class="span6">
<div class="wrapper">
<a href="{{ news.url.full }}">
{% if (news.embed.imgCount > 0) %}
<img src="{{ news.embed.images[0] }}" alt="{{ news.title }}" title="{{ news.title }}" />
{% else %}
<img src="{{ tpl_url }}/images/no_image.jpg" alt="{{ news.title }}" title="{{ news.title }}" />
{% endif %}
</a>
<div class="description8">
<div class="description_content">
{{ news.date }}
</div>
</div>
</div>
</div><!-- end span4 -->
<div class="span6">
<span class="meta">Просмотров: {{ news.views }}</span>
<h2><a href="{{ news.url.full }}">{{ news.title|truncateHTML(70,'...') }}</a></h2>
<p>{{ news.short|truncateHTML(300,'...')|striptags }}</p>
{% if pluginIsActive('rating') %}<span class="pull-right">{{ plugin_rating }}</span>{% endif %}
<a class="btn btn-info" href="{{ news.url.full }}">Подробнее {% if pluginIsActive('comments') %}<span class="entypo-comment active"></span> {comments-num}{% endif %}</a>
</div>
</div>
{% endif %}

{% if isCategory('3') %}
<li class="span4 sep">
<div class="imthumb">
<div class="wrapper">
<a href="{{ news.url.full }}">
{% if (news.embed.imgCount > 0) %}
<img src="{{ news.embed.images[0] }}" alt="{{ news.title }}" title="{{ news.title }}" />
{% else %}
<img src="{{ tpl_url }}/images/no_image.jpg" alt="{{ news.title }}" title="{{ news.title }}" />
{% endif %}
</a>
{% if pluginIsActive('comments') %}
<div class="description7">
<div class="description_content">
<span class="entypo-comment active"></span> {comments-num}
</div>
</div>
{% endif %}
</div>
</div>
<div class="thumbnail">
<div class="caption">
<span class="meta">{{ news.date }}</span>
<h2><a href="{{ news.url.full }}">{{ news.title|truncateHTML(50,'...') }}</a></h2>
<p>{{ news.short|truncateHTML(60,'...')|striptags }}</p>
{% if pluginIsActive('rating') %}{{ plugin_rating }}{% endif %}
</div>
</div>
</li>
{% endif %}

{% if isCategory('4') %}
<li class="span6 sep">
<div class="imthumb">
<div class="wrapper">
<a href="{{ news.url.full }}">
{% if (news.embed.imgCount > 0) %}
<img src="{{ news.embed.images[0] }}" alt="{{ news.title }}" title="{{ news.title }}" />
{% else %}
<img src="{{ tpl_url }}/images/no_image.jpg" alt="{{ news.title }}" title="{{ news.title }}" />
{% endif %}
</a>
{% if pluginIsActive('comments') %}
<div class="description7">
<div class="description_content">
<a href="{{ news.url.full }}"><span class="entypo-comment active"></span> {comments-num}</a>
</div>
</div>
{% endif %}
</div>
</div>
<div class="thumbnail">
<div class="caption">
<span class="meta">{{ news.date }}</span>
<h2><a href="{{ news.url.full }}">{{ news.title|truncateHTML(40,'...') }}</a></h2>
<p>{{ news.short|truncateHTML(160,'...')|striptags }}</p>
{% if pluginIsActive('rating') %}{{ plugin_rating }}{% endif %}
</div>
</div>
</li>
{% endif %}
[/TWIG]
Как видите здесь указаны категории по id 1,2,3,4 задано оформление для 4 категорий.
Примерно также и с остальными файлами в шаблоне ,правда со своими условиями.

Можешь почитать и вот эту статейку "Форматирование цифр по октетам на TWIGe"

mistakes

Это тоже интересно

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Ваше мнение

Ваше отношение к TWIG
Результаты

Облако тегов

Anything in here will be replaced on browsers that support the canvas element