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

Другие новости по теме


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

Доброго времени суток, подскажите как вывести 20 новостей в блоке "Другие новости по теме" в две колонки или подскажите где копать?

http://www.ourdoor.ru

Изменено пользователем raspin
Ссылка на сообщение
Поделиться на других сайтах

Понимаю что не сложно, но не хватает знаний php... Осталась вся надежда на kangalexey

А в каком порядке хотите располагать?

1.

1-2

3-4

5-6

2.

1-4

2-5

3-6

И имейте ввиду что похожих новостей может быть меньше 20

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

в файле engine/modules/show.full.php

Найти:

		if( $config['related_news'] ) {


			if( $config['allow_cache'] != "yes" ) {

				$config['allow_cache'] = "yes";

				$revert_cache = true;

			} else

				$revert_cache = false;


			$buffer = dle_cache( "related", $row['id'] );


			if( $buffer === FALSE ) {


				if( strlen( $row['full_story'] ) < strlen( $row['short_story'] ) ) $body = $row['short_story'];

				else $body = $row['full_story'];


				$body = $db->safesql( strip_tags( stripslashes( $metatags['title'] . " " . $body ) ) );


				$config['related_number'] = intval( $config['related_number'] );

				if( $config['related_number'] < 1 ) $config['related_number'] = 5;


				$db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );


				while ( $related = $db->get_row() ) {


					$related['date'] = strtotime( $related['date'] );

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


					if( strlen( $related['title'] ) > 75 ) $related['title'] = substr( $related['title'], 0, 75 ) . " ...";


					if( $config['allow_alt_url'] == "yes" ) {


						if( $related['flag'] and $config['seo_type'] ) {


							if( $related['category'] and $config['seo_type'] == 2 ) {


								$full_link = $config['http_home_url'] . get_url( $related['category'] ) . "/" . $related['id'] . "-" . $related['alt_name'] . ".html";


							} else {


								$full_link = $config['http_home_url'] . $related['id'] . "-" . $related['alt_name'] . ".html";


							}


						} else {


							$full_link = $config['http_home_url'] . date( 'Y/m/d/', $related['date'] ) . $related['alt_name'] . ".html";

						}


					} else {


						$full_link = $config['http_home_url'] . "index.php?newsid=" . $related['id'];


					}


					$buffer .= "<li><a href=\"" . $full_link . "\">" . stripslashes( $related['title'] ) . "</a></li>";


				}


				$db->free();

				create_cache( "related", $buffer, $row['id'] );

			}


			$tpl->set( '{related-news}', $buffer );


			if( $revert_cache ) $config['allow_cache'] = "no";


		}
Заменить на:
		if( $config['related_news'] ) {


			if( $config['allow_cache'] != "yes" ) {

				$config['allow_cache'] = "yes";

				$revert_cache = true;

			} else

				$revert_cache = false;


			$buffer = dle_cache( "related", $row['id'] );


			if( $buffer === FALSE ) {


				if( strlen( $row['full_story'] ) < strlen( $row['short_story'] ) ) $body = $row['short_story'];

				else $body = $row['full_story'];


				$body = $db->safesql( strip_tags( stripslashes( $metatags['title'] . " " . $body ) ) );


				$config['related_number'] = intval( $config['related_number'] );

				if( $config['related_number'] < 1 ) $config['related_number'] = 5;


				$db->query( "SELECT id, title, date, category, alt_name, flag FROM " . PREFIX . "_post WHERE MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve='1'" . $where_date . " LIMIT " . $config['related_number'] );


				$columns = 0;

				while ( $related = $db->get_row() ) {


					$related['date'] = strtotime( $related['date'] );

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


					if( strlen( $related['title'] ) > 75 ) $related['title'] = substr( $related['title'], 0, 75 ) . " ...";


					if( $config['allow_alt_url'] == "yes" ) {


						if( $related['flag'] and $config['seo_type'] ) {


							if( $related['category'] and $config['seo_type'] == 2 ) {


								$full_link = $config['http_home_url'] . get_url( $related['category'] ) . "/" . $related['id'] . "-" . $related['alt_name'] . ".html";


							} else {


								$full_link = $config['http_home_url'] . $related['id'] . "-" . $related['alt_name'] . ".html";


							}


						} else {


							$full_link = $config['http_home_url'] . date( 'Y/m/d/', $related['date'] ) . $related['alt_name'] . ".html";

						}


					} else {


						$full_link = $config['http_home_url'] . "index.php?newsid=" . $related['id'];


					}

					if( $columns == 0 ){

						$buffer = "<td><a href=\"" . $full_link . "\">" . stripslashes( $related['title'] ) . "</a></td>";

					}else if( $columns % 2 == 1 ){

						$buffer .= "<td><a href=\"" . $full_link . "\">" . stripslashes( $related['title'] ) . "</a></td>";

					} else {

						$buffer .= "</tr><tr><td><a href=\"" . $full_link . "\">" . stripslashes( $related['title'] ) . "</a></td>";

					}

					$columns++;

				}

				if( $columns != 0 and $columns % 2 == 1 ){

					$buffer .= "<td>&nbsp;</td>";

				}


				$db->free();

				create_cache( "related", $buffer, $row['id'] );

			}


			$tpl->set( '{related-news}', $buffer );


			if( $revert_cache ) $config['allow_cache'] = "no";


		}
в файле templates/.../fullstory.tpl Найти:
<ul>{related-news}</ul>
Заменить на:
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>{related-news}</tr></table>

И не забудьте в настройках системы поменять количество похожих новостей на 20

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

Обнаружил проблему, если новость из категории www.сайт.ru/категория/ все работает нормально

А если новость из под категории www.сайт.ru/категория/подкатегория/ то похожие новости не отображаются вообще

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

Возможно, за неделю думаю наполнить порядка 500 моделей дверей, посмотрим, вылезут ли похожие новости, а еще вопрос по каким критериям вылезают похожие новости?

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

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

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

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

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

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

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

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

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

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