Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

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

Долгое время у всех был немой вопрос: "Как же теперь оценивать эффективность сайта?". Теперь этот на этот вопрос отчасти отвечает новый инструмент аналитики.
Процитируем справку Яндекса по инструменту:
На запросы пользователей в Поиске может отвечать Алиса AI. Ответы появляются в поисковой выдаче, в объектных ответах и на отдельной вкладке Поиска. В них чаще всего упоминаются страницы сайтов, на которые Алиса AI опиралась при подготовке ответа.

С помощью инструмента Видимость сайта в Алисе AI в Яндекс Вебмастере вы можете:
- узнать долю упоминаний сайта среди источников в ответах Алисы AI в Поиске и отследить динамику изменений;
- посмотреть примеры запросов, по которым страницы сайта показываются в ответах Алисы AI;
- посмотреть примеры сайтов той же тематики, которые часто упоминаются в генеративной выдаче.
Данные отображаются за последние 3 месяца и обновляются каждую неделю.

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

Кроме того, такой подход обусловлен работой Алисы AI: она строит ответ с опорой на самые релевантные, информативные и качественные страницы, которые обычно занимают высокие позиции в Поиске.

Чтобы увидеть статистику вашего сайта в меню Яндекс.Вебмастера перейдите в раздел "Эффективность" и далее в "Показы сайта в Алисе AI".

В начале февраля 2026г. был вебинар с Михаилом Сливинским - амбассадором Поиска Яндекса, и в рамках вебинара была озвучена просьба сделать такой инструмент. Скорее всего разработка на тот момент уже велась, потому что от просьбы до релиза прошло около 2-х месяцев. В любом случае хорошо, что такая статистика появилась.

Показы сайта в Алисе AI в вашем Яндекс,Вебмастере.

@joomlafeed

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

SerBor

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
При использовании JComments Latest в режиме Последние прокомментированные материалы хотелось бы использовать не только com_content.
Интересовал com_apoll - компонент голосований
Готового решения не нашел.
1. Тупо отредактировал запрос к com_content.
2. Объединил выхлоп с существующим.
3. Сознательно не убил limitы в select - подумал шустрее будет.
В силу своего непрофессионализма пошел коротким путем: правка /modules/mod_jcomments/mod_jcomments.php стр.222
Запрос стал выглядеть так:
Код
$query = "(SELECT c.id AS id, c.title AS title, c.sectionid, 'com_content' as grp"
. ((JCOMMENTS_JVERSION == '1.5')? ', CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as slug' : '')
. ((JCOMMENTS_JVERSION == '1.5')? ', CASE WHEN CHAR_LENGTH(ct.alias) THEN CONCAT_WS(":", ct.id, ct.alias) ELSE ct.id END as catslug' : '')
. "\n, COUNT(cc.id) AS comments, MAX(cc.date) AS commentdate"
. "\n FROM #__content AS c"
. "\n LEFT JOIN #__jcomments AS cc ON c.id = cc.object_id"
. "\n LEFT JOIN #__categories AS ct ON ct.id = c.catid"
. "\n WHERE c.state = 1"
. "\n   AND c.access <= '$my->gid'"
. "\n   AND (c.publish_up = '0000-00-00 00:00:00' OR c.publish_up <= '$now')"
. "\n   AND (c.publish_down = '0000-00-00 00:00:00' OR c.publish_down >= '$now')"
. "\n   AND cc.published = 1"
. "\n   AND (cc.object_group = 'com_content')"
. ((!$catid && $sectionid)? "\n   AND (c.sectionid IN ($sectionid) )" : '')
. (count($exclude_sections)? "\n AND (c.sectionid NOT IN (".implode(',', $exclude_sections).") )" : '')
. ($catid ? "\n   AND (c.catid IN ($catid) )" : '')
. (count($exclude_catids)? "\n AND (c.catid NOT IN (".implode(',', $exclude_catids).") )" : '')
. "\n GROUP BY c.id, c.title, c.sectionid"
. ((JCOMMENTS_JVERSION == '1.5')? ", slug, catslug" : '')
. "\n ORDER BY commentdate DESC"
. "\n LIMIT " . intval( $params->get( 'count' ) ).")"
. "\n UNION"
. "\n (SELECT c.id AS id, c.title AS title, '99999999' AS sectionid, 'com_apoll' as grp"
. ((JCOMMENTS_JVERSION == '1.5')? ', CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as slug' : '')
. ((JCOMMENTS_JVERSION == '1.5')? ', CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as catslug' : '')
. "\n, COUNT(cc.id) AS comments, MAX(cc.date) AS commentdate"
. "\n FROM #__apoll_polls AS c"
. "\n LEFT JOIN #__jcomments AS cc ON c.id = cc.object_id"
. "\n WHERE c.published = 1"
. "\n   AND cc.published = 1"
. "\n   AND (cc.object_group = 'com_apoll')"
. "\n GROUP BY c.id, c.title"
. ((JCOMMENTS_JVERSION == '1.5')? ", slug, catslug" : '')
. "\n ORDER BY commentdate DESC"
. "\n LIMIT " . intval( $params->get( 'count' ) ).")"
. "\n ORDER BY commentdate DESC"
. "\n LIMIT " . intval( $params->get( 'count' ) )
;
Работает! демо http://www.142800.ru
левый низ - "Последние комментарии" работает не только com_content но и com_apoll
Пожелания: по возможности унифицировать мои попытки программинга для других компонентов.
Думаю не (с)только я буду благодарен.(с - корявенько, но проблему решил  ^-^)
 

*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Угу, на текущий момент JComments может быть интегрирован в более чем 50 расширений, и что, мы будем делать union из 50 запросов? И при любом изменении в структуре БД одного из расширений обновлять модуль?
*

SerBor

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Уважаемый smart.

1. Консервативный подход к идеям - это гуд. (Мой основной род занятий - далеко не программирование и вебстроительство. Даже в списке хобби стоит на 3 месте. Рыбалка и охота отъедают все свободное время.) Любое нововведение сотрудников первым делом вызывает мною сначала оценку минусов нововведений (рассмотрение отрицательных сторон) и лишь далее положительных. Просто похожая реакция.

2.
Цитировать
JComments может быть интегрирован в более чем 50 расширений, и что, мы будем делать union из 50 запросов?
50 union - конечно нет! Как правило необходимо/достаточно 2-3. Подключать только выбранные пользователем.

3.
Цитировать
при любом изменении в структуре БД одного из расширений обновлять модуль
Из структуры БД любого из компонентов запросом вытягиваются только id и  title. В самом запросе изменяемой частью является только имя компонента (думаю для 95% из интегрированных).

4. По реализации. (В силу слабых знаний PHP могу написать не глупость.)

a)Таблица jos_comments_component c полями publish, компонент, запрос к этому компоненту.
От
Код
. "\n UNION"

до
Код
. "\n ORDER BY commentdate DESC"
. "\n LIMIT " . intval( $params->get( 'count' ) )
Загоняем отмеченные в переменную и включаем в select.
Соответственно в админке галочка в модуля для публикации.

б) includить файлы с именами найденных в jos_comments object_group файлов с содержанием:
б-1) стандарт (95% - id и  title)
б-2) нестандарт с расфасовкой по именам "нестандартных" компонентов
Но от тех же галочек и соответственно таблички никуда не деться.


c) Уверен - есть лучший вариант реализации.

В целом:
Технически реализовать возможно.

Плюсы -   JComments Latest в режиме Последние прокомментированные материалы - становится намного информативнее.
Именно этот модуль интересен для "морды" сайта.

Минусы - увеличивается количество запросов/скорость. Об этом необходимо информировать пользователя. Как вариант обязательно limit в запросе и index по commentdate.

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





*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Вот именно проблемы с производительностью пока меня и удерживают от каких-то доработок модуля - я пока не нашел приемлемого решения. Дело в том, что помимо "утяжеления" запроса (выполнение запроса с limit и сортировкой влечет выполнение полной выборки, сортировки и выбора из результата сортировки N записей - так работает сервер БД), есть и другая проблема с производительностью - для каждого комментария нужно получить название объекта и построить ссылку. И если название объекта еще как-то можно хранить в промежуточной таблице, то с ссылками такой номер не прокатывает - для разных групп пользователей ссылка может иметь разный вид (кто-то сразу на объект попадает, кто-то сначала на форму авторизации и т.д.). И тут получается мягко говоря многовато запросов. В общем я пока в поиске наиболее оптимального решения.
*

SerBor

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Мой косяк.
В первом посте про линки не дописал строка примерно 122. function getContentLink(&$row)
Было:
Код
if ($row->object_group = 'com_apoll') {
  require_once (JPATH_ROOT.DS.'components'.DS.'com_apoll'.DS.'helpers'.DS.'route.php');
  $link = JRoute::_( 'index.php?option=com_apoll&view=apoll&id='.$row->slug.$itemid);

Стало:
Код
if ($row->grp == 'com_apoll') {
  $link = JRoute::_( 'index.php?option=com_apoll&view=apoll&id='.$row->slug.$itemid);
  } else {
require_once (JPATH_ROOT.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');
$link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid)). '#comments';
}

grp - Добавлял в selecte (1-й пост) чтоб линки как раз получились.

Как идея - может их в ту же промежуточную таблицу (jos_comments_component) пихать?

*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Как идея - может их в ту же промежуточную таблицу (jos_comments_component) пихать?
кого их? ссылки? я же писал о проблеме с ссылками...
*

SerBor

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Ага. шаблоны.
Например:
Код
index.php?option=com_apoll&view=apoll&id='.$row->slug.$itemid
*

SerBor

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Какие шаблоны? Внешний вид ссылки может быть связан с текущими правами пользователя - в зависимости от его уровня доступа ссылка может иметь как разный Itemid, так и вообще разный вид (например для материалов это может быть или ссылка на материал, или ссылка на страницу авторизации с редиректом потом на страницу материала). В общем я пока не вижу способа хранить эти ссылки. Корректного способа...
*

SerBor

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Про авторизацию честно говоря не задумывался.
У меня ссылки на материал должны были вести.
Itemid -  не мешает, он присутствует в ссылке, даже не дотрагивался до него.
Код
index.php?option=com_apoll&view=apoll&id='.$row->slug.$itemid

Про скорость выборки.
Давненько (~10 yeas old = fox.. итп) экспериментировал. При indexe по полю order by и limit в selecte - выборка работала НУ ОЧЕНЬ шустро.

Повторюсь - JComments Latest в режиме Последние прокомментированные материалы - идеал для комментариев на лице сайта.
*

SerBor

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Наверно сумбурно.
Но например таблица jos_comments_component
1. id
2. title (название компонента)
3. zapros ( sql для unita)
4. link (шаблон ссылки - 'index.php?option=com_apoll&view=apoll&id='.$row->slug.$itemid )
*

SerBor

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Моя сугубо личная точка зрения.
Объединять через UNION и так довольно нагруженные запросы хотя бы к двум-трём разным компонентам с разной структурой данных чтобы вывести 5-10 последних прокомментированных материалов разного характера в одном блоке на Главной - здесь польза непропорционально мала по сравнению с ухудшением производительности.

А гипотетически - при такой унификации найдутся желающие вывести последние прокомментированные материалы из 10 компонентов, а потом будут вопрошать - а почему у меня так медленно грузится страница?
Конечно их дурость - это их проблема, но камни полетят в разработчика )))
*

SerBor

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Это уже по Марксу.
Тут две противоположности.
Функционал и скорость работы.
Выбор должен быть за пользователем.
Но теория эволюции подсказывает что человек склонен выбирать автомобиль а не повозку. (html <-> php)
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Давненько (~10 yeas old = fox.. итп) экспериментировал. При indexe по полю order by и limit в selecte - выборка работала НУ ОЧЕНЬ шустро.
ну fox это fox, а вот сайтов с количеством комментариев > 500 тыс я знаю уже с десяток, и там выборки отнюдь не шустрые.

4. link (шаблон ссылки - 'index.php?option=com_apoll&view=apoll&id='.$row->slug.$itemid )
это чушь, ибо значение Itemid нужно еще получить, и для каждого компонента оно получается по- своему (зависит от логики роутера)

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

Поддержка akismet была бы кстати в JComments

Автор Александр Кардаш

Ответов: 16
Просмотров: 6420
Последний ответ 03.10.2022, 11:03:05
от wishlight
Как вывести Jcomments в теле статьи?

Автор marina9777

Ответов: 1
Просмотров: 3810
Последний ответ 09.04.2022, 13:20:07
от Helios
Управление подпиской на уведомления о новых комментариях в JComments

Автор smart

Ответов: 66
Просмотров: 52023
Последний ответ 24.09.2021, 16:21:37
от Vlad1
Добавить систему рейтинга в JComments

Автор webtrack

Ответов: 59
Просмотров: 61680
Последний ответ 17.05.2021, 11:21:08
от McCafferty
Можно ли reCAPTCH для JComments сделать с отложенной загрузкой?

Автор ncknck

Ответов: 12
Просмотров: 4498
Последний ответ 04.11.2020, 20:50:42
от ProtectYourSite