| Навигация по сайту |
| |
|
 |
|
|
 |
|
 |
| |

Дорогие друзья,
Представляю Вашему вниманию модуль для DLE "Похожие новости в виде списка с ЧПУ, Ajax и кэш". Этот модуль выводит похожие новости, опубликованные на сайте в виде списка, а поддержка кеша максимально уменьшает нагрузку, так же модуль поддерживает все виды ЧПУ и переход по страницам с использованием Ajax и настройкой из админ-панели.
Установка Похожие новости в виде списка с ЧПУ, Ajax и кэш:
- Открываем engine\modules\show.full.php
Находим (404 стр.): 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;
if( $config['ajax'] ) { $buffer = "<select onchange=\"DlePage('newsid='+this.value); return false;\">"; } else { if ( $config['allow_alt_url'] == "yes" ) { $buffer = "<select onchange=\"javascript:window.location='" . $config['http_home_url'] . "'+this.value+'.html'\">"; } else { $buffer = "<select onchange=\"javascript:window.location='" . $config['http_home_url'] . "?newsid='+this.value;\">"; } } $buffer .= "<option value = \"#\" selected disabled>Похожие новости</option>"; $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 ( $config['allow_alt_url'] == "yes" && ! $config['ajax']) {
if( $related['flag'] and $config['seo_type'] ) { if( $related['category'] and $config['seo_type'] == 2 ) { $buffer .= "<option value = \"" . get_url( $related['category'] ) . "/" . $related['id'] . "-" . $related['alt_name'] . "\">" . $related['title'] . "</option>"; } else { $buffer .= "<option value = \"" . $related['id'] . "-" . $related['alt_name'] . "\">" . $related['title'] . "</option>"; } } else { $buffer .= "<option value = \"" . date( 'Y/m/d/', $related['date'] ) . $related['alt_name'] . "\">" . $related['title'] . "</option>"; } } else{ $buffer .= "<option value = \"" . $related['id'] . "\">" . $related['title'] . "</option>"; } }
$buffer .= "</select>"; $db->free(); create_cache( "related", $buffer, $row['id'] );
} $tpl->set( '{related-news}', $buffer ); if( $revert_cache ) $config['allow_cache'] = "no"; }
- Открываем шаблон "Статья целиком | fullstory.tpl" и в нужном месте, если еще не установлен, вставляем тег {related-news}.
- Чистим кэш из админ-панели
P.S> Для работы ajax необходимо в настройках DLE включить "Использование технологии AJAX для навигации по сайту".
|
|
 |
|
 |
| |
Лицензия: Бесплатно
Версия DLE: 8.0
Автор: Брупт (dle-infa.ru) Скачать Похожие новости в виде списка с ЧПУ, Ajax и кэш: Вы не можете скачивать файлы с нашего сервера
Категории новости: Хаки Ключевые слова новости: похожие, новости, списк, чпу, ajax, кэш
|
|
 |
|
 |
| |
|
|
 |
|
 |
|
|
| Популярные новости |
|
|
 |
|