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

Разные шаблоны для кратких новостей на главной странице


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

Надо в engine/modules/show.short.php найти:

while ( $row = $db->get_row( $sql_result ) ) {
И ВМЕСТО этой строки вставить:
	$firstn = true;

	$tpl_name_short_first = 'shortstoryfirst.tpl'; //Первая новость по списку будет отображаться в этом шаблоне!!


	while ( $row = $db->get_row( $sql_result ) ) {

		if ($firstn) {

			if (file_exists( TEMPLATE_DIR . DIRECTORY_SEPARATOR . $tpl_name_short_first )) {

				$tpl->load_template($tpl_name_short_first);

			}else{

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

			}

			$firstn = false;

		}else{

			if ($cat_info[$row['category']]['short_tpl'] and $cat_info[$row['category']]['short_tpl'] != $bdssh)

			{

				$tpl->load_template($cat_info[$row['category']]['short_tpl'].'.tpl');

				$bdssh = $cat_info[$row['category']]['short_tpl'];

			} else {

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

			}

		}	

Идея взята с 4dle с добавлением возможности отображать первую новость в списке по отдельному шаблону.

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

а точно этот код работает?

А то ведь если вставить вместо этой строки

while ( $row = $db->get_row( $sql_result ) ) {

то где то получается будет незакрытая скобка }

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

Точно работает.

Подсчитайте кол-во открытых скобок в тексте который надо заменить и в тексте на который надо заменить. Оно одинаково ;)

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

да и еще я что то не до конца понял как это работает.

Получается для первой новости можно поставить измененный shortstory.tpl

а для всех других что ниже они одинаковые. так?

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

да и еще я что то не до конца понял как это работает.

Получается для первой новости можно поставить измененный shortstory.tpl

Да, именно так, причем если указали в скрипте та измененный шаблон, а положить его забыли :rolleyes: , то ошибки не будет, а загрузится shortstory.tpl

а для всех других что ниже они одинаковые. так?

Для других шаблоны на главной будут такие же, как указано в настройке категории. Ранее в "своих" шаблонах новости выводились только в "своих" категориях, а теперь и на главной.

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

Подскажите как реализовать:

Краткие новости на главной странице (main.tpl-1 - 3 или 4 колончатый сайт), где куча всего и всяких тегов.

А полную новость выводить в отдельном шаблоне (main.tpl-2 - 2 колончатый сайт с минимумом тегов).

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

Вик нифига не понятно но думаю что тебе в помощь aviable

Игорь А100 а можно тоже самое сделать средствами движка и хтмль

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

Вик нифига не понятно

Главная страница сайта - например 4 колонки. Полная новость также выводится на странице с 4 колонками.

А хотелось, чтобы полная новость выводилась на страницу сайта всего из двух колонок: например навигация и сама новость.

Шаблонами такое не получится. Надо наверное подключать другой main.tpl я думаю.

Дальше нажимаешь на "Главная" и вновь сайт 4 колонки. Вроде все понятно расписал.

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

Разобрался самостоятельно, решение моей проблемы здесь:

http://dle-news.ru/tips/340-ispolzovanie-razlichnykh-shablonov-dlja-razdelov.html

Содержание main.tpl:

[aviable=feedback] Отсутствует файл шаблона: feedback_main.tpl [/aviable]

[not-aviable=feedback] Отсутствует файл шаблона: all_main.tpl [/not-aviable]

В файле шаблона feedback_main.tpl мы делаем оформление обратной связи, а в файле all_main.tpl мы делаем оформление всего остального сайта. Вот собственно и все, легко и достаточно просто реализовать, не нужно производить никаких модификаций скрипта. Также вы можете оформить оформление любого раздела, можете комбинировать несколько разделов и т.д. Чаще и внимательнее прочитывайте документацию к скрипту, там достаточно много полезного можно подчеркнуть для себя.

Чаще и внимательнее прочитывайте документацию к скрипту, там достаточно много полезного можно подчеркнуть для себя.

Это точно!

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

Игорь А100 а можно тоже самое сделать средствами движка и хтмль

Можно такое сделать используя "custom", но в этом случае пропадет навигация по страницам. А вообще, есть одна интересная мысль у меня, если получится - поделюсь :)

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

Поправленный код, т.к терялись доп. поля новостей

	$teknomer = 0;

	$tpl_name_short_first = 'shortstoryfirst.tpl';


	while ( $row = $db->get_row( $sql_result ) ) {

		$teknomer ++ ;

		if ($teknomer == 1) {

			if (file_exists( TEMPLATE_DIR . DIRECTORY_SEPARATOR . $tpl_name_short_first )) {

				$tpl->load_template($tpl_name_short_first);

			}else{

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

			}

		}else{

			if ($cat_info[$row['category']]['short_tpl'] and $cat_info[$row['category']]['short_tpl'] != $bdssh)

			{

				$tpl->load_template($cat_info[$row['category']]['short_tpl'].'.tpl');

				$bdssh = $cat_info[$row['category']]['short_tpl'];

			} else {

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

			}

		}

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

		else $xfound = false;


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

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

не работает

выводит только одну новость правильно, а остальным присваивает шаблон по дефолту

версия 7.2

если у кого работает, просьба помочь

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

а остальным присваивает шаблон по дефолту

Сколько лет прошло :) Так на главной странице и так в дефолтном шаблоне выводится....

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

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