New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Как в sitemap_cat реализовать фильтрацию по типу записи? #203

Open
vimruler opened this Issue Jun 2, 2017 · 31 comments

Comments

Projects
None yet
3 participants
@vimruler

vimruler commented Jun 2, 2017

При выводе карты сайта в виде дерева (работает функция sitemap_cat плагина sitemap) происходит вывод всех опубликованных записей в базе. Даже если это не "blog" или "static". Т.е. например, если был создан какой-то специальный тип страниц, который для особых задач (например, для страниц с платным доступом), то такие страницы будут тоже выводится и тем самым попадут в открытый доступ.

Вот как такое побороть? Там для получения дерева записей используется функция mso_cat_array и к ней особо не подобраться (при обычном выводе есть возможность создать свой type_foreach с параметрами выборки). Есть идеи?

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 2, 2017

Owner

То есть ты хочешь как-то ограничить вывод только на blog?

Owner

maxsite commented Jun 2, 2017

То есть ты хочешь как-то ограничить вывод только на blog?

@vimruler

This comment has been minimized.

Show comment
Hide comment
@vimruler

vimruler Jun 2, 2017

То есть ты хочешь как-то ограничить вывод только на blog?

У меня кроме blog и static есть ещё тип event. Хочу скрыть записи, которые типа event. Т.е. не только blog выводить, но и static тоже. Но всё остальное - скрыть.

Кстати, бывает больше типов и с ними тоже не всегда всё однозначно.

vimruler commented Jun 2, 2017

То есть ты хочешь как-то ограничить вывод только на blog?

У меня кроме blog и static есть ещё тип event. Хочу скрыть записи, которые типа event. Т.е. не только blog выводить, но и static тоже. Но всё остальное - скрыть.

Кстати, бывает больше типов и с ними тоже не всегда всё однозначно.

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 2, 2017

Owner

Наверное это нужно как-то через опции плагина сделать. По другому не представляю как этим управлять.

Owner

maxsite commented Jun 2, 2017

Наверное это нужно как-то через опции плагина сделать. По другому не представляю как этим управлять.

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 3, 2017

Owner

Илья, если не сложно, попробуй поиграть в функции sitemap() в 61 строчке параметром type. Сейчас он закоментирован.

Owner

maxsite commented Jun 3, 2017

Илья, если не сложно, попробуй поиграть в функции sitemap() в 61 строчке параметром type. Сейчас он закоментирован.

@vimruler

This comment has been minimized.

Show comment
Hide comment
@vimruler

vimruler Jun 3, 2017

попробуй поиграть в функции sitemap() в 61 строчке параметром type. Сейчас он закоментирован.

Перед тем как сюда написать я именно в том месте и пробовал экспериментировать. Создал type_foreach файл sitemap-mso-get-pages.php и именно параметр type задавал под свою задачу. Работает отлично. Но в том то и дело, что это только часть задачи. Т.е. сокрытие ненужных записей происходит при выводе записей в податовом виде. Если вывод переключить на дерево рубрик, то там работает другая функция и там type_foreach файл не применим. Там как-то всё иначе реализовано и без использования функции mso_get_pages.

vimruler commented Jun 3, 2017

попробуй поиграть в функции sitemap() в 61 строчке параметром type. Сейчас он закоментирован.

Перед тем как сюда написать я именно в том месте и пробовал экспериментировать. Создал type_foreach файл sitemap-mso-get-pages.php и именно параметр type задавал под свою задачу. Работает отлично. Но в том то и дело, что это только часть задачи. Т.е. сокрытие ненужных записей происходит при выводе записей в податовом виде. Если вывод переключить на дерево рубрик, то там работает другая функция и там type_foreach файл не применим. Там как-то всё иначе реализовано и без использования функции mso_get_pages.

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 3, 2017

Owner

Получается, что ты используешь для разных типов записей те же рубрики? По идее, если рубрика не указана, то запись будет «висеть» сама по себе.

Owner

maxsite commented Jun 3, 2017

Получается, что ты используешь для разных типов записей те же рубрики? По идее, если рубрика не указана, то запись будет «висеть» сама по себе.

@vimruler

This comment has been minimized.

Show comment
Hide comment
@vimruler

vimruler Jun 3, 2017

Получается, что ты используешь для разных типов записей те же рубрики?

Нет. Разные рубрики.

vimruler commented Jun 3, 2017

Получается, что ты используешь для разных типов записей те же рубрики?

Нет. Разные рубрики.

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 3, 2017

Owner

Не в этом дело. Просто вывод рубрик идёт как есть. Если у записи отмечена рубрика, то она и выводится.

Owner

maxsite commented Jun 3, 2017

Не в этом дело. Просто вывод рубрик идёт как есть. Если у записи отмечена рубрика, то она и выводится.

@vimruler

This comment has been minimized.

Show comment
Hide comment
@vimruler

vimruler Jun 3, 2017

Хм. Т.е. деревом выводятся все рубрики без разбора? Но ведь рубрики в этом месте тоже вроде нельзя отфильтровать, так что не понимаю что в итоге...

vimruler commented Jun 3, 2017

Хм. Т.е. деревом выводятся все рубрики без разбора? Но ведь рубрики в этом месте тоже вроде нельзя отфильтровать, так что не понимаю что в итоге...

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 3, 2017

Owner

Вывод записей — это mso_get_pages(). Здесь как раз можно что-то придумать с типом записи. А вывод рубрик — это mso_cat_array(). Здесь вывод рубрик в чистом виде. Если у записи есть эта рубрика, то она и выводится. Ведь зачем-то эта рубрика отмечена у записи.

Owner

maxsite commented Jun 3, 2017

Вывод записей — это mso_get_pages(). Здесь как раз можно что-то придумать с типом записи. А вывод рубрик — это mso_cat_array(). Здесь вывод рубрик в чистом виде. Если у записи есть эта рубрика, то она и выводится. Ведь зачем-то эта рубрика отмечена у записи.

@vimruler

This comment has been minimized.

Show comment
Hide comment
@vimruler

vimruler Jun 3, 2017

Здесь вывод рубрик в чистом виде. Если у записи есть эта рубрика, то она и выводится. Ведь зачем-то эта рубрика отмечена у записи.

Да, я понимаю. Но как наличие рубрики должно мешать отфильтровать записи по какому-то дополнительному параметру? Может рубрики были поставлены записи для удобства админа или для работы закрытой группы пользователей сайта. Но общая карта сайта не должна отображать такие записи в принципе. И не понятно как отфильтровать нежелательный вывод.

Кстати, непонятно ещё, а как запретить выводить определённые рубрики?

vimruler commented Jun 3, 2017

Здесь вывод рубрик в чистом виде. Если у записи есть эта рубрика, то она и выводится. Ведь зачем-то эта рубрика отмечена у записи.

Да, я понимаю. Но как наличие рубрики должно мешать отфильтровать записи по какому-то дополнительному параметру? Может рубрики были поставлены записи для удобства админа или для работы закрытой группы пользователей сайта. Но общая карта сайта не должна отображать такие записи в принципе. И не понятно как отфильтровать нежелательный вывод.

Кстати, непонятно ещё, а как запретить выводить определённые рубрики?

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 3, 2017

Owner

Ну нет. Здесь же приоритет именно вывод рубрик, а записи — это скорее следствие. :-)

Функция mso_cat_array() получает лишь номера записей, без какого-либо анализа типа.

Если нужна фильтрация, то нужно копать в строну _sitemap_cat_elem(). Нужно вводить if-проверку на тип записи, коороый недоступен. Поэтому наверное нужно запускать mso_cat_array_single() (строчка 172), где и указывать нужный тип записи (параметр $type_page).

Owner

maxsite commented Jun 3, 2017

Ну нет. Здесь же приоритет именно вывод рубрик, а записи — это скорее следствие. :-)

Функция mso_cat_array() получает лишь номера записей, без какого-либо анализа типа.

Если нужна фильтрация, то нужно копать в строну _sitemap_cat_elem(). Нужно вводить if-проверку на тип записи, коороый недоступен. Поэтому наверное нужно запускать mso_cat_array_single() (строчка 172), где и указывать нужный тип записи (параметр $type_page).

@vimruler

This comment has been minimized.

Show comment
Hide comment
@vimruler

vimruler Jun 4, 2017

Если нужна фильтрация, то нужно копать в строну _sitemap_cat_elem()

Да, логично и передача нужного значения параметра $type в функцию mso_cat_array_single() решило бы ситуацию. Вот только непонятно как это сделать, ибо в функции _sitemap_cat_elem() нет даже вызова type_foreach файла, в котором можно было бы свои настройки вызова функции задать.

Там код:

	if ($all_cat === false) $all_cat = mso_cat_array_single();

Может доработаем? Например, до такого варианта (не претендую на истинность, просто идею показать):

	if ($all_cat === false)
	{
		if ($f = mso_page_foreach('sitemap-cat-elem')) require($f); 

		if ($all_cat === false) $all_cat = mso_cat_array_single();
	}

vimruler commented Jun 4, 2017

Если нужна фильтрация, то нужно копать в строну _sitemap_cat_elem()

Да, логично и передача нужного значения параметра $type в функцию mso_cat_array_single() решило бы ситуацию. Вот только непонятно как это сделать, ибо в функции _sitemap_cat_elem() нет даже вызова type_foreach файла, в котором можно было бы свои настройки вызова функции задать.

Там код:

	if ($all_cat === false) $all_cat = mso_cat_array_single();

Может доработаем? Например, до такого варианта (не претендую на истинность, просто идею показать):

	if ($all_cat === false)
	{
		if ($f = mso_page_foreach('sitemap-cat-elem')) require($f); 

		if ($all_cat === false) $all_cat = mso_cat_array_single();
	}
@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 4, 2017

Owner

Сейчас нужно попробовать проверить будет ли работать данная схема «в лоб». То есть прямо в плагине пропиши нужные данные. Если это работает, то нужно будет сделать отдельную опцию «Включить в вывод типы записей», где можно будет указывать типы через запятую.

Owner

maxsite commented Jun 4, 2017

Сейчас нужно попробовать проверить будет ли работать данная схема «в лоб». То есть прямо в плагине пропиши нужные данные. Если это работает, то нужно будет сделать отдельную опцию «Включить в вывод типы записей», где можно будет указывать типы через запятую.

@vimruler

This comment has been minimized.

Show comment
Hide comment
@vimruler

vimruler Jun 5, 2017

Если я правильно понял твою идею, то сделал такую правку в функции function _sitemap_cat_elem($elem):

	#if ($all_cat === false) $all_cat = mso_cat_array_single();
	if ($all_cat === false) $all_cat = mso_cat_array_single('page', 'category_name', 'ASC', 'blog');

Желаемого эффекта это не принесло. Записи всё ещё видны. Да там, если приглядеться, то кроме одного типа указать больше всё равно ничего нельзя, ибо потом это значение применяется в коде mso_cat_array_single таким образом:

	if ($type_page) $CI->db->where('page_type_name', $type_page);

vimruler commented Jun 5, 2017

Если я правильно понял твою идею, то сделал такую правку в функции function _sitemap_cat_elem($elem):

	#if ($all_cat === false) $all_cat = mso_cat_array_single();
	if ($all_cat === false) $all_cat = mso_cat_array_single('page', 'category_name', 'ASC', 'blog');

Желаемого эффекта это не принесло. Записи всё ещё видны. Да там, если приглядеться, то кроме одного типа указать больше всё равно ничего нельзя, ибо потом это значение применяется в коде mso_cat_array_single таким образом:

	if ($type_page) $CI->db->where('page_type_name', $type_page);
@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 5, 2017

Owner

Ну ты проверь, что там в $all_cat выводится. Если $type_page не работает, значит дело в кэше. Нужно его сбросить.

Несколько типов задаются в $type_page либо как массив, либо строчкой для db->where. Посмотри в хелпе CodeIgniter в секции Active Record Class. Там есть примеры, чтобы здесь не дублировать. Наверное только нужно будет скобки равильно расставить.

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

Owner

maxsite commented Jun 5, 2017

Ну ты проверь, что там в $all_cat выводится. Если $type_page не работает, значит дело в кэше. Нужно его сбросить.

Несколько типов задаются в $type_page либо как массив, либо строчкой для db->where. Посмотри в хелпе CodeIgniter в секции Active Record Class. Там есть примеры, чтобы здесь не дублировать. Наверное только нужно будет скобки равильно расставить.

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

@HaipaiUser

This comment has been minimized.

Show comment
Hide comment
@HaipaiUser

HaipaiUser Jun 6, 2017

vimruler вот набросал на скорую руку:

  1. Добавить в опции плагина sitemap после строки 133:
    'exclude' => array( 'type' => 'text', 'name' => t('Исключить типы страниц'), 'description' => '', 'default' => '' ),
  2. После строки 170 добавить:
    $options = mso_get_option('plugin_sitemap', 'plugins', array() ); $exclude_page = array(); if ($options['exclude'] != '') { $par = array( 'no_limit' => true, 'type'=> $options['exclude'], 'custom_type' => 'home', 'content' => false, 'order' => 'page_id', 'order_asc' => 'asc', 'get_page_categories' => false, 'get_page_count_comments' => false, 'get_page_meta_tags' => false, ); $exclude = mso_get_pages($par, $pagination); foreach ($exclude as $page_ex) { $exclude_page[$page_ex['page_id']] = ''; } }
  3. Строку 178:
    if ($page['page_status'] == 'publish')
    заменить на:
    if ($page['page_status'] == 'publish' && !isset($exclude_page[$page['page_id']]))
  4. Зайти в админку и вписать в новое поле к примеру - event
  5. Очистить кэш
    После этого будут рубится все страницы с типом event

Тут не пойми как все форматируется, вот три этих куска наглядно:
sitemap

HaipaiUser commented Jun 6, 2017

vimruler вот набросал на скорую руку:

  1. Добавить в опции плагина sitemap после строки 133:
    'exclude' => array( 'type' => 'text', 'name' => t('Исключить типы страниц'), 'description' => '', 'default' => '' ),
  2. После строки 170 добавить:
    $options = mso_get_option('plugin_sitemap', 'plugins', array() ); $exclude_page = array(); if ($options['exclude'] != '') { $par = array( 'no_limit' => true, 'type'=> $options['exclude'], 'custom_type' => 'home', 'content' => false, 'order' => 'page_id', 'order_asc' => 'asc', 'get_page_categories' => false, 'get_page_count_comments' => false, 'get_page_meta_tags' => false, ); $exclude = mso_get_pages($par, $pagination); foreach ($exclude as $page_ex) { $exclude_page[$page_ex['page_id']] = ''; } }
  3. Строку 178:
    if ($page['page_status'] == 'publish')
    заменить на:
    if ($page['page_status'] == 'publish' && !isset($exclude_page[$page['page_id']]))
  4. Зайти в админку и вписать в новое поле к примеру - event
  5. Очистить кэш
    После этого будут рубится все страницы с типом event

Тут не пойми как все форматируется, вот три этих куска наглядно:
sitemap

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 6, 2017

Owner

Не-не. Нужно сделать опцию «Включить» типы, а не «исключить». Если эта опция пустая, то просто type не указываем ( = false).

Но это не проблема. Главное — проверить возможность указывать тип в mso_cat_array() и mso_cat_array_single(). В этом загвоздка.

Owner

maxsite commented Jun 6, 2017

Не-не. Нужно сделать опцию «Включить» типы, а не «исключить». Если эта опция пустая, то просто type не указываем ( = false).

Но это не проблема. Главное — проверить возможность указывать тип в mso_cat_array() и mso_cat_array_single(). В этом загвоздка.

@HaipaiUser

This comment has been minimized.

Show comment
Hide comment
@HaipaiUser

HaipaiUser Jun 6, 2017

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

HaipaiUser commented Jun 6, 2017

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

@HaipaiUser

This comment has been minimized.

Show comment
Hide comment
@HaipaiUser

HaipaiUser Jun 6, 2017

По поводу mso_cat_array() и mso_cat_array_single() посмотрю что можно придумать.

HaipaiUser commented Jun 6, 2017

По поводу mso_cat_array() и mso_cat_array_single() посмотрю что можно придумать.

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 6, 2017

Owner

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

Верно. Но технически проще указывать включаемые типы. Сейчас нужно просто посмотреть как «грязно» можно это сделать. Дальше я уже сам подумаю как и что поменять в ядре.

Owner

maxsite commented Jun 6, 2017

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

Верно. Но технически проще указывать включаемые типы. Сейчас нужно просто посмотреть как «грязно» можно это сделать. Дальше я уже сам подумаю как и что поменять в ядре.

@HaipaiUser

This comment has been minimized.

Show comment
Hide comment
@HaipaiUser

HaipaiUser Jun 6, 2017

Но технически проще указывать включаемые типы. Сейчас нужно просто посмотреть как «грязно» можно это сделать.

Подумаю.

P.S. Кстати, плагин нужно все равно переделать, т.к. если выбрано - Группировка по датам, он все равно ничего кроме типа blog не выводит.

HaipaiUser commented Jun 6, 2017

Но технически проще указывать включаемые типы. Сейчас нужно просто посмотреть как «грязно» можно это сделать.

Подумаю.

P.S. Кстати, плагин нужно все равно переделать, т.к. если выбрано - Группировка по датам, он все равно ничего кроме типа blog не выводит.

@HaipaiUser

This comment has been minimized.

Show comment
Hide comment
@HaipaiUser

HaipaiUser Jun 6, 2017

В общем разобрался с mso_cat_array()
Достаточно в category.php вставить одну строчку в function mso_get_page_cat, скажем в 68 строку:
$CI->db->where_in('page.page_type_id', array('1','3'));

array содержит номера типов страниц, которые нужно вывести.
Как туда это передать, думаю объяснять не нужно.

В общем полностью получается как-то так:
if ($explode){ $explode = explode(',', trim($explode)); $CI->db->where_in('page.page_type_id', $explode); }
category

На входе либо:
$explode = false;
либо скажем:
$explode = '1,3';

HaipaiUser commented Jun 6, 2017

В общем разобрался с mso_cat_array()
Достаточно в category.php вставить одну строчку в function mso_get_page_cat, скажем в 68 строку:
$CI->db->where_in('page.page_type_id', array('1','3'));

array содержит номера типов страниц, которые нужно вывести.
Как туда это передать, думаю объяснять не нужно.

В общем полностью получается как-то так:
if ($explode){ $explode = explode(',', trim($explode)); $CI->db->where_in('page.page_type_id', $explode); }
category

На входе либо:
$explode = false;
либо скажем:
$explode = '1,3';

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 7, 2017

Owner

Есть функция mso_explode(). Лучше ей, хотя передавать нужно либо массив, тогда работает where_in, либо строку, тогда работает where. Такой пример кода есть в _mso_sql_build_home()

if ($r['type']) 
{
	if (is_array($r['type'])) 
		$CI->db->where_in('page_type.page_type_name', $r['type']);
	else 
		$CI->db->where('page_type.page_type_name', $r['type']);
}

Илья, ты проверил у себя?

Owner

maxsite commented Jun 7, 2017

Есть функция mso_explode(). Лучше ей, хотя передавать нужно либо массив, тогда работает where_in, либо строку, тогда работает where. Такой пример кода есть в _mso_sql_build_home()

if ($r['type']) 
{
	if (is_array($r['type'])) 
		$CI->db->where_in('page_type.page_type_name', $r['type']);
	else 
		$CI->db->where('page_type.page_type_name', $r['type']);
}

Илья, ты проверил у себя?

@HaipaiUser

This comment has been minimized.

Show comment
Hide comment
@HaipaiUser

HaipaiUser Jun 7, 2017

Не совсем так.
В данном месте where работать нормально не будет.
Вернее если придет одно значение, к примеру:
$explode = '1'
то where отработает нормально,
а если придет:
$explode = '1,3,7'
то where нормально не отработает.
а where_in в моем примере в обоих случаях отработает правильно.
А по условиям как раз было нужно передавать количество от ничего, до ...

Ну и page_type.page_type_name в том месте тоже не прокатывает.
Чтоб лишнего не городить, я и использовал page.page_type_id

Все тестировал на чистом 0.96

Вот какие страницы:
mso_cat_array

В конце function mso_cat_array перед return $r; поставил print_r($r);

Типы страниц:
1 - blog
2 - static
3 - event

Вот на входе $explode = '1,3';
На выходе страницы и типа blog и типа event
mso_cat_array1

Вот на входе $explode = '1';
На выходе страницы только типа blog
mso_cat_array2

Вот на входе $explode = '3';
На выходе страницы только типа event
mso_cat_array3

HaipaiUser commented Jun 7, 2017

Не совсем так.
В данном месте where работать нормально не будет.
Вернее если придет одно значение, к примеру:
$explode = '1'
то where отработает нормально,
а если придет:
$explode = '1,3,7'
то where нормально не отработает.
а where_in в моем примере в обоих случаях отработает правильно.
А по условиям как раз было нужно передавать количество от ничего, до ...

Ну и page_type.page_type_name в том месте тоже не прокатывает.
Чтоб лишнего не городить, я и использовал page.page_type_id

Все тестировал на чистом 0.96

Вот какие страницы:
mso_cat_array

В конце function mso_cat_array перед return $r; поставил print_r($r);

Типы страниц:
1 - blog
2 - static
3 - event

Вот на входе $explode = '1,3';
На выходе страницы и типа blog и типа event
mso_cat_array1

Вот на входе $explode = '1';
На выходе страницы только типа blog
mso_cat_array2

Вот на входе $explode = '3';
На выходе страницы только типа event
mso_cat_array3

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 7, 2017

Owner

Конечно, where_in должен быть массив. В принципе, я согласен, что использовать можно только входящую строчку. Но, часто бывают задачи, когда лучше передать данные в виде массива. В этом случае проверка is_array и используется.

Для отладки можно использовать функцию pr().

Еще в mso_cat_array() идет подсчет колва записей, поэтому фильтр по статусу нужно добавить и в неё.

Owner

maxsite commented Jun 7, 2017

Конечно, where_in должен быть массив. В принципе, я согласен, что использовать можно только входящую строчку. Но, часто бывают задачи, когда лучше передать данные в виде массива. В этом случае проверка is_array и используется.

Для отладки можно использовать функцию pr().

Еще в mso_cat_array() идет подсчет колва записей, поэтому фильтр по статусу нужно добавить и в неё.

@vimruler

This comment has been minimized.

Show comment
Hide comment
@vimruler

vimruler Jun 7, 2017

Ну и page_type.page_type_name в том месте тоже не прокатывает.

Илья, ты проверил у себя?

Что-то в лоб (делал примерно также, как вы тут обсуждали) тоже не получилось. Но пока некогда копнуть глубже.

vimruler commented Jun 7, 2017

Ну и page_type.page_type_name в том месте тоже не прокатывает.

Илья, ты проверил у себя?

Что-то в лоб (делал примерно также, как вы тут обсуждали) тоже не получилось. Но пока некогда копнуть глубже.

@HaipaiUser

This comment has been minimized.

Show comment
Hide comment
@HaipaiUser

HaipaiUser Jun 7, 2017

Еще в mso_cat_array() идет подсчет колва записей, поэтому филтр по статусу нужно добавить и в неё.

Да, я знаю, я этот кусок добавлял в 237 строку.
В любом случае $explode = '1,3,7'; в function mso_get_page_cat будет через mso_cat_array() передаваться.
Но тут я это опустил, т.к. в данном случае это не столь было важно, поскольку задача стояла просто фильтрацию оттестировать.

HaipaiUser commented Jun 7, 2017

Еще в mso_cat_array() идет подсчет колва записей, поэтому филтр по статусу нужно добавить и в неё.

Да, я знаю, я этот кусок добавлял в 237 строку.
В любом случае $explode = '1,3,7'; в function mso_get_page_cat будет через mso_cat_array() передаваться.
Но тут я это опустил, т.к. в данном случае это не столь было важно, поскольку задача стояла просто фильтрацию оттестировать.

@maxsite maxsite added the Задача label Jun 7, 2017

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 7, 2017

Owner

У меня пока тоже нет времени плотно заняться. Пока поставил статус задачи.

Owner

maxsite commented Jun 7, 2017

У меня пока тоже нет времени плотно заняться. Пока поставил статус задачи.

@vimruler

This comment has been minimized.

Show comment
Hide comment
@vimruler

vimruler Jun 29, 2017

Отправил Максиму свой вариант необходимых правок. Если кому-то интересно что получилось - прикладываю архив сюда.
sitemap_src.zip

vimruler commented Jun 29, 2017

Отправил Максиму свой вариант необходимых правок. Если кому-то интересно что получилось - прикладываю архив сюда.
sitemap_src.zip

@maxsite

This comment has been minimized.

Show comment
Hide comment
@maxsite

maxsite Jun 29, 2017

Owner

Ок. Гляну.

Owner

maxsite commented Jun 29, 2017

Ок. Гляну.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment