- Автор: irbees2008
- Адаптировал: irbees2008
- Уровень сложности исполнения: Справочник
Часто нам или заказчику нужно чтобы разные категории на сайте имели свое оформление новостей и сайта в общем. Ну в NGcms есть множество вариантов оформления главной страницы, категорий и новостей.
Ну мы попробуем рассмотреть все варианты.
Вариант 1.
Плагин multi_main позволяет Вам настраивать выбор между разными main.tpl в зависимости от
- Главной страницы
- Групп пользователей
- Категорий новостей
Особенности работы плагина:
- Файлы шаблонов должны распологаться в корневом каталоге вашего активного шаблона
- В качестве названия шаблона необходимо указывать имя файла без расширения
- Плагин не делает запросы к БД
Т.е мы можем использовать разные main.tpl для оформления.
Вариант 2.
Используем свое оформление для категорий .
1.Создаем директорию ncustom в папке нашего шаблона
2.В директории создаем папки с любым названием на моем примере это m1 и m2
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 и редактируем категорию
Шаблон для новостей категории выбираем нужный шаблон m1 или m2 .Ну с этим вариантом все.
Вариант 3.
Третий вариант заменяет первые два варианта.Этот вариант использует TWIG, и с ним все вроде не сложно и использовать можно для любого файла шаблона.
И практически одним условием меняем все оформление сайта.
{% if isCategory('some_cat') %}
Блок на страничке со списком новостей из категории some_cat
{% endif %}
Вот пример из шаблона 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]
Примерно также и с остальными файлами в шаблоне ,правда со своими условиями.
Можешь почитать и вот эту статейку "Форматирование телефона,даты...."
Это тоже интересно
- 14.08.17Пишем файл main.tpl
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.