Новости Joomla

20 лет Joomla: Ринат Кажетов

20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет

В 2025 году Joomla исполнилось 20 лет. Вокруг неё сложилось большое интернациональное русскоязычное сообщество. На сайте нашего сообщества и на Хабре к юбилею были собраны интервью с его видными представителями. Сегодня мы читаем интервью с Ринатом Кажетовым (@rkazhet). Ринат - один из администраторов чата русскоязычного Joomla-сообщества, из Казахстана. Это человек, который всегда знает или найдёт нужную ссылку, пристально следит за новостями в мире Joomla, многое узнаёт первым и просто очень отзывчивый человек. Интервью с Ринатом взял Евгений Сивоконь.

Читать интервью

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

websitevirtuoso

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Если включить функцию вывод похожих материалов по тегам. тока тама берется тока 1 схожий тег. а это неочень правильно

Так как надо выбирать по 2-3 и более тегам и выводить материалы по убыванию. Сначало у нас будут выводиться материалы которые имеют 3 общих тега, затем 2 тега, и уже потом 1 схожий тег.

И так притупим откроем файл components\com_k2\models\itemlist.php

В нем у нас есть строчка
$query = "SELECT DISTINCT itemID FROM #__k2_tags_xref WHERE tagID IN ({$sql}) AND itemID!={$itemID}";
надо убрать слово DISTINCT получим ->
$query = "SELECT itemID FROM #__k2_tags_xref WHERE tagID IN ({$sql}) AND itemID!={$itemID}";


Затем ищем такие строки
------
$itemsIDs = K2_JVERSION == '30' ? $db->loadColumn() : $db->loadResultArray();

 if (!count($itemsIDs))
      return array();
$sql = implode(',', $itemsIDs);

необходимо заменить на следующий код
$itemsIDs = K2_JVERSION == '30' ? $db->loadColumn() : $db->loadResultArray();

 if (!count($itemsIDs))
      return array();
$itemsIDs = array_count_values($itemsIDs);
/* сортируем в обратном порядке ассоциативно - чем больше вхождений, тем первее */
arsort($itemsIDs);
/* возвращаемся к исходному массиву (автоматически уникализировав его) */
$itemsIDs = array_keys($itemsIDs);
/* формируем порядок для сортировочного запроса */
$sql = implode(',', $itemsIDs);

Последний штрих
фрагмент
$query .= " AND c.trash = 0
AND (i.id) IN ({$sql})
ORDER BY i.created DESC";

заменить на

$query .= " AND c.trash = 0
AND (i.id) IN ({$sql})
ORDER BY FIELD(i.id, $sql)";

Номера строк не могу указать так как у меня все смешалось.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Не решено] Вывод дополнительных полей в админке в списке материалов

Автор Babyaka

Ответов: 30
Просмотров: 5920
Последний ответ 07.10.2024, 18:37:33
от NIKOLY
Нужна помощь К2 вывод текста

Автор boot78

Ответов: 11
Просмотров: 3562
Последний ответ 23.09.2016, 12:18:44
от Septdir
Как получить количество материалов пользователя?

Автор Виталик1985

Ответов: 5
Просмотров: 3742
Последний ответ 16.08.2015, 14:27:30
от Виталик1985
Вывод по тэгу - сортировка по алфавиту

Автор kysin

Ответов: 2
Просмотров: 3799
Последний ответ 17.01.2015, 22:39:41
от kysin
Вывод доп. полей для материалов выведенных по тегу (на странице материала)

Автор vi3dok

Ответов: 0
Просмотров: 3906
Последний ответ 03.09.2014, 14:53:06
от vi3dok