Новости 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 Гость просматривают эту тему.
  • 8 Ответов
  • 6697 Просмотров
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Привет всем!

При написании комопонента столкнулся с проблемой - у меня есть запрос, который выводит большой список. Есть желание его разбить на несколько страниц, но вот как это сделать? Есть ли в Joomla! стандартные средства или для этого необходимо написать что-то своё?

Спасибо!
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Думал писать с нуля, а оказалось, я уже это один раз описывал: Функции для постраничной навигации
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
smart - огромное спасибо! Буду пробовать :)

P.S.
Сорри вроде просматривал этот форум весь, а твою ссылку пропустил.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Такс, что-то у меня не получается... Может кто глянет свежим взглядом, поможет.

Вот вывод списка (пока всего 3 записи), но pagination не срабатывает:
http://demo.contra.lv/index.php?option=com_contrashop&task=manage&mode=slotlist&limitstart=0&limit=1

Код вывода:
Код
if ($mode == "slotlist") {
require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' );
$limit = intval( mosGetParam( $_REQUEST, 'limit', 1 ) );
$limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) );
$database->setQuery("SELECT * FROM #__contrashop_slots WHERE expired=0 LIMIT {$limitstart}, {$limit}");
$rows = $database->loadObjectList();
$total = COUNT($rows);

?>  <div id="mainContainer" style="">
<legend><h3><?php echo _ALL_SLOTS; ?></h3></legend>
<table width="100%">
<tr>
<td><b><?php echo _SERVER; ?></b></td>
<td><b><?php echo _NICK; ?></b></td>
<td><b><?php echo _PASSW; ?></b></td>
<td><b><?php echo _BOUGHT; ?></b></td>
<td><b><?php echo _EXPIRES; ?></b></td>
<td></td>
</tr>
<?php foreach ($rows as $row) {
if ($row->server == "dd2") {
$servername = "dust2 only";
}
if ($row->server == "gg") {
$servername = "Gun Game";
}
if ($row->server == "ggdm") {
$servername = "Gun Game DM";
}
if ($row->server == "conq") {
$servername = "Conquest";
}
if ($row->server == "dm") {
$servername = "Death Match";
}
if ($row->server == "zm") {
$servername = "Zombie Mod";
}
if ($row->server == "all") {
$servername = "All";
}
echo '<tr>
<td width="20%">'.$servername.'</td>
<td width="20%">'.$row->nick.'</td>
<td width="20%">'.$row->pass.'</td>
<td width="20%">'.$row->start_str.'</td>
<td width="20%">'.$row->end_str.'</td>';
}
echo "</tr></table></div>";
$pageNav = new mosPageNav( $total, $limitstart, $limit );
$link = "index.php?option=com_contrashop&task=manage&mode=slotlist";
echo $pageNav->writePagesLinks( $link );
}
Где чего я попутал? Наставьте на путь истинный :) Спасибо.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Ошибься ты вот в чем. Ты делаешь запрос, ограничиваешь выборку, и потом считаешь количество по выбранному - а оно всегда одно и то же будет. Нужно же, несколько иначе. Простенький пример из компонента баннеров:


	
$limit 
	
	
intval$mainframe->getUserStateFromRequest"viewlistlimit"'limit'$mosConfig_list_limit ) );
	
$limitstart intval$mainframe->getUserStateFromRequest"viewban{$option}limitstart"'limitstart') );

	
// get the total number of records
	
$query "SELECT COUNT(*)"
	
"\n FROM #__banner"
	
;
	
$database->setQuery$query );
	
$total $database->loadResult();

	
require_once( 
$GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' );
	
$pageNav = new mosPageNav$total$limitstart$limit );

	
$query "SELECT b.*, u.name AS editor"
	
"\n FROM #__banner AS b "
	
"\n LEFT JOIN #__users AS u ON u.id = b.checked_out"
	
;
	
$database->setQuery$query$pageNav->limitstart$pageNav->limit );
	
$rows $database->loadObjectList();


Т.е. сначла делается запрос, возвращающий количество элементов, получаем $total, потом формируем объект страничной навигации, в него передаем 3 параметра, а затем уже делаем запрос на выборку данных, и ограничиваем ее значениями из объекта страничной навигации.

1. Ограничиваем значениями объекта потому, что параметры переданные запросом могут быть неверны (например нет такого смещения), а в объекте это ве корретируется
2. В указанном примере ограничение делается не путем добавления LIMIT в сам текст запроса, а в функцию setQuery. По сути, произойдет то же самое, просто выглядит аккуратнее.

*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Серж, спасибо огромное. Снова выручил!

В итоге у меня получилось так:

	
	
	
$limit intvalmosGetParam$_REQUEST'limit'10 ) );
	
	
	
$limitstart intvalmosGetParam$_REQUEST'limitstart') );
	
	
	

	
	
	
$database->setQuery("SELECT COUNT(*) FROM #__contrashop_slots WHERE expired=0");
	
	
	

	
	
	
$total $database->loadResult();
	
	
	

	
	
	
require_once( 
$GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' );
	
	
	
$pageNav = new mosPageNav$total$limitstart$limit );

                        
$database->setQuery("SELECT * FROM #__contrashop_slots WHERE expired=0 LIMIT {$pageNav->limitstart}{$pageNav->limit}");
	
	
	
$rows $database->loadObjectList();


Всё замечательно работает.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Блин, захотел привести вывод постраничной навигации к sefRelToAbs таким способом:

$link 
'index.php?option=com_contraadmins';
echo 
sefRelToAbs($pageNav->writePagesLinks$link ));

Но получается в итоге http://www.contra.lv/<< [Первая] < [Предыдущая] 1 2 [Следующая] > [Последняя] >>
хотя при этом ссылки навигации приводятся к sefRelToAbs... Откуда тут появилось http://www.contra.lv/ вот в чём вопрос.

Что неверно в коде?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Блин, захотел привести вывод постраничной навигации к sefRelToAbs таким способом
а нафига? они и так выводятся в правильном формате, посмотри внимательнее код в файле includes/pageNavigation.php - ты увидишь там все необходимые вызовы метода sefRelToAbs
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Хмм... Что-то мне показалось, что выводилось без sef. Ещё раз перепроверюсь.

Update: да , всё в порядке... я чего-то не углядел
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод статистики по всем проектам в один roster

Автор r0m4n

Ответов: 4
Просмотров: 999
Последний ответ 18.12.2019, 18:47:57
от r0m4n
Вывод таблицы, деление на страницы

Автор March Cat

Ответов: 6
Просмотров: 1443
Последний ответ 09.01.2019, 18:49:15
от dmitry_stas
Меню схлопывается после перезагрузки страницы

Автор onelawyer

Ответов: 10
Просмотров: 2091
Последний ответ 11.10.2017, 14:50:48
от effrit
Модификация модуля lastet_news вывод времени перед заголовком

Автор Morphiss

Ответов: 9
Просмотров: 2923
Последний ответ 19.04.2016, 12:41:55
от spsyper
Как вставить модуль в код нужной страницы php?

Автор zvi

Ответов: 7
Просмотров: 4007
Последний ответ 12.04.2016, 19:36:55
от AlekVolsk