Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 1759 Просмотров
*

jurassik

  • Давно я тут
  • 692
  • 52 / 1
результаты поиска
« : 25.10.2011, 16:17:09 »
в результатах поиска выводятся категории материала: $this->escape($result->section)
как добавить вывод родительской категории категории? \извиняюсь за тофтологию

т.е. есть категория А, в ней есть категория В, материал С принадлежит категории В.
нужен вывод врезультатах поиска: матриал С категория А-В
сам шучу - сам смеюсь
*

Tureckiy

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Re: результаты поиска
« Ответ #1 : 25.10.2011, 16:23:45 »
в результатах поиска выводятся категории материала: $this->escape($result->section)
как добавить вывод родительской категории категории? \извиняюсь за тофтологию

т.е. есть категория А, в ней есть категория В, материал С принадлежит категории В.
нужен вывод врезультатах поиска: матриал С категория А-В
доп запрос к по категориям и переделать страницу вывода
*

jurassik

  • Давно я тут
  • 692
  • 52 / 1
Re: результаты поиска
« Ответ #2 : 25.10.2011, 17:05:35 »
доп запрос к по категориям и переделать страницу вывода
вот зачем давать такие ответы?...
сам шучу - сам смеюсь
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: результаты поиска
« Ответ #3 : 25.10.2011, 19:22:33 »
в результатах поиска

Какого поиска - стандартного?
*

jurassik

  • Давно я тут
  • 692
  • 52 / 1
Re: результаты поиска
« Ответ #4 : 25.10.2011, 19:33:41 »
Какого поиска - стандартного?
да
сам шучу - сам смеюсь
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: результаты поиска
« Ответ #5 : 25.10.2011, 19:43:45 »
В общих чертах - в плагине search-K2 модифицировать запрос - добавить ещё один JOIN с таблицей #__k2_categories по id - parent
В качестве section соответственно будет не c.name, а слияние имён родительской и дочерней через разделитель, который вам больше по вкусу.

Конкретнее бы написал, если бы указали версию К2.
*

jurassik

  • Давно я тут
  • 692
  • 52 / 1
Re: результаты поиска
« Ответ #6 : 25.10.2011, 19:53:35 »
В общих чертах - в плагине search-K2 модифицировать запрос - добавить ещё один JOIN с таблицей #__k2_categories по id - parent
В качестве section соответственно будет не c.name, а слияние имён родительской и дочерней через разделитель, который вам больше по вкусу.

Конкретнее бы написал, если бы указали версию К2.
2.4.1
сам шучу - сам смеюсь
*

Tureckiy

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Re: результаты поиска
« Ответ #7 : 25.10.2011, 21:34:31 »
В общих чертах - в плагине search-K2 модифицировать запрос - добавить ещё один JOIN с таблицей #__k2_categories по id - parent
В качестве section соответственно будет не c.name, а слияние имён родительской и дочерней через разделитель, который вам больше по вкусу.

Конкретнее бы написал, если бы указали версию К2.
Это если категория второго уровня, если третьего и т.д  - то не подойдет - не универсальное решение!
*

jurassik

  • Давно я тут
  • 692
  • 52 / 1
Re: результаты поиска
« Ответ #8 : 25.10.2011, 21:52:23 »
Это если категория второго уровня, если третьего и т.д  - то не подойдет - не универсальное решение!
ну от Вас никакого решения...даже не универсального
сам шучу - сам смеюсь
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: результаты поиска
« Ответ #9 : 26.10.2011, 07:49:26 »
Это если категория второго уровня, если третьего и т.д ...

В таком случае рекурсия категорий просто повесит ваш поиск на долгое время, а может быть и сервер )))
Но если есть такое желание - я же не решение выложил, а направление решения.
Кто вам мешает сделать эту самую рекурсию и понаблюдать за производительностью поиска после этого?


По поводу 2-уровневого пути:

В первой части запроса (начинается на 99 строке) внимательно и аккуратно приводим к следующему виду:
Код
	$query = "
SELECT i.title AS title,
i.metadesc,
i.metakey,
c.name AS child_category,
p.name AS parent_category,
i.image_caption,
i.image_credits,
i.video_caption,
i.video_credits,
i.extra_fields_search,
i.created,
     CONCAT(i.introtext, i.fulltext) AS text,
     CASE WHEN CHAR_LENGTH(i.alias) THEN CONCAT_WS(':', i.id, i.alias) ELSE i.id END as slug,
     CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as catslug
     FROM #__k2_items AS i
     INNER JOIN #__k2_categories AS c ON c.id=i.catid AND c.access <= {$access}
LEFT JOIN #__k2_categories AS p ON p.id=c.parent AND p.access <= {$access}
WHERE (";

Пониже - уже примерно в районе 160 строк получится делаем так

Код
		if (isset($list)) {
foreach ($list as $key=>$item) {
if (!empty($list[$key]->parent_category)) {
$list[$key]->section = $list[$key]->parent_category.'/'.$list[$key]->child_category;
} else {
$list[$key]->section = $list[$key]->child_category;
}
$list[$key]->href = JRoute::_(K2HelperRoute::getItemRoute($item->slug, $item->catslug));

}
}

После этого получаете результаты поиска в таком виде

« Последнее редактирование: 26.10.2011, 11:22:11 от SDKiller »
*

jurassik

  • Давно я тут
  • 692
  • 52 / 1
Re: результаты поиска
« Ответ #10 : 26.10.2011, 11:22:03 »
спасибо, будем пробовать
сам шучу - сам смеюсь
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: результаты поиска
« Ответ #11 : 26.10.2011, 11:30:24 »
Кстати, подумалось ещё - можно попробовать для этих целей почистить от лишнего ссылку материала, получаемую через getItemRoute
Это сработает при включённом SEF и кириллических алиасах
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Разные страницы с результатами поиска на одном сайте com_k2

Автор NIKOLY

Ответов: 0
Просмотров: 2416
Последний ответ 22.08.2023, 15:44:05
от NIKOLY
Критерии поиска объекта в админке

Автор Abez

Ответов: 0
Просмотров: 920
Последний ответ 14.01.2020, 13:46:43
от Abez
K2 + JA Megafilter неправильное отображение результатов поиска

Автор ProggerF

Ответов: 0
Просмотров: 1060
Последний ответ 15.08.2018, 14:49:22
от ProggerF
Поиск К2 + в результаты Категории

Автор jurassik

Ответов: 1
Просмотров: 1455
Последний ответ 28.11.2017, 20:06:03
от kisBoss
Как настроить вывод результатов поиска из K2 Tools?

Автор Magi

Ответов: 0
Просмотров: 1218
Последний ответ 03.06.2016, 09:05:06
от Magi