Перейти к публикации

Краткие новости и главная категория


Рекомендованные сообщения

В админке можно задать разные шаблоны для кратких новостей (у меня их 2), но действуют они только при просмотре конкретной категории категории. Получается, что если новость выводится из категории на главную, то своего оформления она естественно не сохраняет (дополнительные поля)

Вопрос знатокам - как сделать чтобы разные шаблоны кратких новостей одинаково равно действовали при просмотре всех кратких новостей?

Ссылка на сообщение
Поделиться на других сайтах

Я так понимаю тег {custom} и для каждой категории задать свой шаблон например list1.tpl для первой категории. На главной создать блок(div или tab это уже Ваше дело), внутри него вписать

{custom category="1" template="list1" aviable="main" from="0" limit="1" cache="no"}

custom category="1" это ID категории.

limit="1" это кол-во новостей которые будут выводиться на главной.

Ну и по аналогии для каждой категории.

Вроде так, может меня поправят если что упустил или не так.

Ссылка на сообщение
Поделиться на других сайтах

К сожалению, это малость не то. Я нашел решение. Как оказалось это проблема интересует многих.

Открываем /engine/moodules/show.short.php


Находим и удаляем:


if( isset( $view_template ) and $view_template == "rss" ) {

} elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );

else $tpl->load_template( 'shortstory.tpl' );




Найдите:


$row['category'] = intval( $row['category'] );




Ниже вставте:


$cat_idd = $row['category'];

if( isset( $view_template ) and $view_template == "rss" ) {

}

elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );

elseif( $cat_idd and $cat_info[$cat_idd]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$cat_idd]['short_tpl'] . '.tpl' );

else $tpl->load_template( 'shortstory.tpl' );

Но это решение не учитывает обработку дополнительных полей, которые были созданы для категории 13 (в моем случае). На главной странице эти поля не обрабатываются, к сожалению.

Ссылка на сообщение
Поделиться на других сайтах

Нашлось и решение проблемы с хфилдами:

if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false;

if ($xfound) $xfields = xfieldsload();

Мне кажется хорошее решение.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

×
×
  • Создать...