Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как убрать из sitemap.xml все новости из подкатегорий и сами подкатегории?

Как убрать из sitemap.xml все новости из подкатегорий и сами подкатегории?


     16.12.2016    Все вопросы » Общие вопросы    471

вопрос
Как убрать из sitemap.xml все подкатегории+новости нескольких категорий ?

Тут нашел вариант, как можно убрать только 1 категорию -
В google.class.php после
foreach ( $cat_info as $cats ) {

добавить -
if( $cats[id] == '1') continue; // ID категории которые НЕ добавлять в sitemap.xml


чтобы новости из 1 категории убрать то -
В google.class.php после -
$row['date'] = strtotime($row['date']);

вставить-
if( in_array('1', explode(',', $row['category']) ) ) continue; // <-- "1" id вашей категории


Например если -
Категория 1
Категория 2
--Категория 10
--Категория 11
--Категория 12
--Категория 13
Категория 3
Категория 4
--Категория 20
--Категория 21

То как указать категории 2 и 4 и чтобы в sitemap.xml не добавлялись их подкатегории и их новости?
То есть чтобы не отображались 2,4,10,11,12,13,20,21 категории и их новости.

Ответил: Kane


Что бы убрать из sitemap.xml все подкатегории и новости из этих подкатегорий.
В файле: engine\classes\google.class.php
После:
foreach ( $cat_info as $cats ) {

Вставить:
if( $cats['parentid'] ) continue;


После:
$row['date'] = strtotime($row['date']);

Вставить:
$cat_info = get_vars( "category" );
			
	if( ! is_array( $cat_info ) ) {
		$cat_info = array ();
				
		$db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
				
		while ( $row = $db->get_row() ) {
					
			$cat_info[$row['id']] = array ();
					
			foreach ( $row as $key => $value ) {
				$cat_info[$row['id']][$key] = $value;
			}
				
		}
				
		set_vars( "category", $cat_info );
		$db->free();
	}
		
	$news_cats = explode(',', $row['category']);
	$stop = false;
	foreach( $news_cats as $cat_id ) {
		if( $cat_info[$cat_id]['parentid'] ){
			$stop = true;
		}
	}
	if( $stop ) continue;

1 комментарий

vadims
Юзер

vadims - 20 декабря 2016 00:23 -

Большое спасибо!

Скажите, а почему не убирает новости в основной категории?

Например -
Категория 2
--Категория 10
--Категория 11
--Категория 12
--Категория 13
if( $cats['parentid'] == '2') continue;
категории 10,11,12,13 не отображаются и новости так же из этих категорий, а вот категори "2" отображается и новости также.

И почему нельзя прописать -
if( $cats['parentid'] == '2' OR '4') continue;
так не работает.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх