Хаки и Скрипты Next Generation CMS

Своё оформление для разных категорий и новостей

irbees2008 irbees2008 Опубликовано - 31 - августа Верстка
3378 - 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 категорий.
Примерно также и с остальными файлами в шаблоне ,правда со своими условиями.

Можешь почитать и вот эту статейку "Тег map "

Опрос

Ваше мнение

Вы нашли что искали?
Результаты

Последние комментарии

Теги

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

Статистика

  • Caйту: 4403 дня
  • Новостей: 566
  • Комменты: 257
  • Зарегистрированно : 662
  • Онлайн всего: [9]
  • Гости: [8]
  • Поисковики: [1] Google
  • Были сегодня : [2] Google, Яндекс
  • SQL запросов: 30
  • Генерация страницы: 0.847сек
  • Потребление памяти: 5.172 Mb 
  •   Яндекс.Метрика