Форум русской поддержки Joomla!® CMS
17.08.2017, 23:29:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

mod_k2_content и несколько тегов

 (Прочитано 176 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Yavich
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 133


« : 07.12.2016, 15:58:15 »

Здравствуйте. В модуле mod_k2_content есть очень удобная штука вывода материалов по тегу. Но вот в чем для меня загвоздка: указав два тега, модуль отобразит все материалы по первому и по второму тегу, а мне нужно, чтобы отобразились только те материалы, где есть ОБА эти тега. Возможно ли это реализовать?
Записан
Yavich
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 133


« Ответ #1 : 08.12.2016, 11:00:40 »

Если я правильно понял, то все зависит от этого запроса (в helper.php):
$query .= " INNER JOIN #__k2_tags_xref tags_xref ON tags_xref.itemID = i.id";
Осталось понять, что тут поменять Azn
Записан
Septdir
Практически профи
*******

Репутация: +106/-0
Offline Offline

Пол: Мужской
Сообщений: 2123



« Ответ #2 : 08.12.2016, 18:42:11 »

Ну тут 3 варината
1. Скорректировать модуль, но тут получиься что всегда будет AND
2. Скопировать модуль переименовать и измненить как нуно
3. Скорректировать модуль добавив на это настроку.
Само же изменния на скорю руку получаеться так
helper.php
Код
			if($tagsFilter && is_array($tagsFilter) && count($tagsFilter))
{
$query .= " AND tags_xref.tagID IN(".implode(',', $tagsFilter).")";
}
 
меняем на
Код
			if($tagsFilter && is_array($tagsFilter) && count($tagsFilter))
{
foreach ($tagsFilter as $tag) {
$query .= " AND tags_xref.tagID = ".$db->Quote($tag);
}
 
}
 
Записан
Yavich
Осваиваюсь на форуме
***

Репутация: +3/-1
Offline Offline

Сообщений: 133


« Ответ #3 : 08.12.2016, 22:06:42 »

Ну тут 3 варината
1. Скорректировать модуль, но тут получиься что всегда будет AND
2. Скопировать модуль переименовать и измненить как нуно
3. Скорректировать модуль добавив на это настроку.
Само же изменния на скорю руку получаеться так
helper.php
Код
			if($tagsFilter && is_array($tagsFilter) && count($tagsFilter))
{
$query .= " AND tags_xref.tagID IN(".implode(',', $tagsFilter).")";
}
 
меняем на
Код
			if($tagsFilter && is_array($tagsFilter) && count($tagsFilter))
{
foreach ($tagsFilter as $tag) {
$query .= " AND tags_xref.tagID = ".$db->Quote($tag);
}
 
}
 


Что-то не так, совсем перестало показывать статьи, даже с обоими тегами...
Записан
Septdir
Практически профи
*******

Репутация: +106/-0
Offline Offline

Пол: Мужской
Сообщений: 2123



« Ответ #4 : 12.12.2016, 13:13:25 »

Странно по идеи должно работать, хотя я не проверял. Будет время посмотрю. Но вы можете и сами получите запрос да проверте его в phpMyAdmin
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet