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

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Возникла необходимость, сделал, не грех и задокументировать.
Суть - при создании категории в всех трех каталогах для изображений (мини, средние и полные эскизы) создается подкаталог с именем - идентификатором ID категории, дальше все картинки при загрузке попадают в него. Удобно для хранения и ориентации при больших объемах галерей.
 
Создание подкаталога при создании категории и загрузка изображения именно в него
в admin.datsogallery.php в функции function saveCatg:
строку
global $database$my;
заменяем на
global $database$my$mosConfig_absolute_path;
перед mosRedirect добавляем:
require_once ($mosConfig_absolute_path '/administrator/components/com_datsogallery/config.datsogallery.php');
mkdir($mosConfig_absolute_path.'/'.$ad_pathoriginals.'/'.$row->cid0755);
mkdir($mosConfig_absolute_path.'/'.$ad_pathimages.'/'.$row->cid0755);
mkdir($mosConfig_absolute_path.'/'.$ad_paththumbs.'/'.$row->cid0755);


после в этом же файлес начале uploadhandler для каждой строки copy (и для dgImageCreate) добавляем перед именами файлов новый кусок пути
в результате должны быть такие вот пути:
/$catid/$org_screenshot_name вместо просто /$org_screenshot_name
Предупреждение - это относится к режиму одиночной загрузки, для batch режимов добавите по аналогии

Удаление изображения
admin.datsogallery.php, функция function removePicture
в ней в запрос добавляем выборку категории
$database->setQuery("select id, imgfilename, imgthumbname, imgoriginalname, catid from #__datsogallery where id = $cid[$i]");
После
$row $rows[0];
добавляем         
$catid $row->catid;
дальше в функцию удаления картинки добавляем нашу переменную с категорией, должно получится так:
if(removeFile($row->imgfilename$mosConfig_absolute_path $ad_pathimages$catid)) {
	
	
	
	
	
if(
removeFile($row->imgthumbname$mosConfig_absolute_path $ad_paththumbs$catid)) {
	
	
	
	
	
	
if(!
removeFile($row->imgoriginalname$mosConfig_absolute_path $ad_pathoriginals$catid)) {

В файле images.datsogallery.php находим внизу функцию function removeFile и заменяем на наш код:
function removeFile($srcFilename$srcFilePath$catid) {
	
$removeFilename $srcFilePath '/' $catid '/' $srcFilename;
	
if(
unlink($removeFilename)) {
	
	
return 
true;
	
} else {
	
	
return 
false;
	
}
}


Отображение картинок в админке
Файл admin.datsogallery.html.php
находим (примерно 80-90 строки)
$info getimagesize($mosConfig_absolute_path $ad_pathoriginals "/$row->imgoriginalname");
$size filesize($mosConfig_absolute_path $ad_pathoriginals "/$row->imgoriginalname");

и заменяем на
$info getimagesize($mosConfig_absolute_path $ad_pathoriginals "/$row->catid/$row->imgoriginalname");
$size filesize($mosConfig_absolute_path $ad_pathoriginals "/$row->catid/$row->imgoriginalname");

Еще дальше находим (строка примерно 320)
$info getimagesize($mosConfig_absolute_path $ad_pathoriginals "/$row->imgoriginalname");
$size filesize($mosConfig_absolute_path $ad_pathoriginals "/$row->imgoriginalname");

И меняем на
$info getimagesize($mosConfig_absolute_path $ad_pathoriginals "/$row->catid/$row->imgoriginalname");
$size filesize($mosConfig_absolute_path $ad_pathoriginals "/$row->catid/$row->imgoriginalname");

      
чуть ниже
<img src="<?php echo "$ad_paththumbs/$row->imgthumbname"; ?>" style="<?php echo $ad_imgstyle; ?>" title="<?php echo _DG_THUMB_PIC_PREVIEW; ?>" /><br /><br /><?php echo $orginfo?>
заменяем на
<img src="<?php echo "$ad_paththumbs/$row->catid/$row->imgthumbname"; ?>" style="<?php echo $ad_imgstyle; ?>" title="<?php echo _DG_THUMB_PIC_PREVIEW; ?>" /><br /><br /><?php echo $orginfo?>

Фронтенд
файл datsogallery.php
В начале файла

$originalpath 
$mosConfig_live_site $ad_pathoriginals "/";
$picturepath $mosConfig_live_site $ad_pathimages "/";
$originaldir $mosConfig_absolute_path $ad_pathoriginals "/";
$picturedir $mosConfig_absolute_path $ad_pathimages "/" $catid ."/";
$thumbnailpath $mosConfig_live_site $ad_paththumbs "/";

меняем на
$originalpath $mosConfig_live_site $ad_pathoriginals "/" $catid ."/";
$picturepath $mosConfig_live_site $ad_pathimages "/" $catid ."/";
$originaldir $mosConfig_absolute_path $ad_pathoriginals "/" $catid ."/";
$picturedir $mosConfig_absolute_path $ad_pathimages "/" $catid ."/";
$thumbnailpath $mosConfig_live_site $ad_paththumbs "/";
$thumbnailpath2 $mosConfig_live_site $ad_paththumbs "/" $catid ."/";


Строку
echo "onmouseout=\"return nd();\"\n><img src='$thumbnailpath$row1->imgthumbname' id=\"dt2\" alt=\"" $tle "\" /></a></div>\n";
на
echo "onmouseout=\"return nd();\"\n><img src='$thumbnailpath2$row1->imgthumbname' id=\"dt2\" alt=\"" $tle "\" /></a></div>\n";
строку
echo "<div align=\"center\"><a href=\n" sefRelToAbs("$dgurl&func=detail&catid=$catid&id=$row1->id") . "\">\n<img src='$thumbnailpath$row1->imgthumbname' id=\"dt2\" alt=\"" $tle "\" /><div>$tle</div></a></div>";
на
echo "<div align=\"center\"><a href=\n" sefRelToAbs("$dgurl&func=detail&catid=$catid&id=$row1->id") . "\">\n<img src='$thumbnailpath2$row1->imgthumbname' id=\"dt2\" alt=\"" $tle "\" /><div>$tle</div></a></div>";

находим
$query "select *, c.access from #__datsogallery as p  left join #__datsogallery_catg as c on c.cid=p.catid  where " . ($catid " ( p.catid in (" $catid ") )" '') . " and p.published = '1' and p.approved='1' and c.access<='" $my->gid "' || " . ($catid " ( c.parent in (" $catid ") )" '') . " and p.published = '1' and p.approved='1' and c.access<='" $my->gid "'  order by rand() limit 1";
и заменяем на
$query "select *, c.access, c.cid as cid from #__datsogallery as p  left join #__datsogallery_catg as c on c.cid=p.catid  where " . ($catid " ( p.catid in (" $catid ") )" '') . " and p.published = '1' and p.approved='1' and c.access<='" $my->gid "' || " . ($catid " ( c.parent in (" $catid ") )" '') . " and p.published = '1' and p.approved='1' and c.access<='" $my->gid "'  order by rand() limit 1";

Ниже идет вывод превьюшем
$output .= '<img src="' $thumbnailpath "/" $row2->imgthumbname '" style="' $ad_imgstyle '" title="' _DG_OPEN_CAT '" alt="" /></a></td>';
меняем на
$output .= '<img src="' $thumbnailpath $row2->cid "/" $row2->imgthumbname '" style="' $ad_imgstyle '" title="' _DG_OPEN_CAT '" alt="" /></a></td>';

Файл sub_viewdetails.php
находим строки
$imgsize filesize("$mosConfig_absolute_path$ad_pathoriginals/$imgoriginalname");
...
$size_pic = @getimagesize("$mosConfig_absolute_path$ad_pathoriginals/$imgoriginalname");

и меняем на
$imgsize filesize("$mosConfig_absolute_path$ad_pathoriginals/$catid/$imgoriginalname");
....
$size_pic = @getimagesize("$mosConfig_absolute_path$ad_pathoriginals/$catid/$imgoriginalname");


Удачных экспериментов и не забываем про резервные копии файлов
« Последнее редактирование: 11.08.2008, 21:48:03 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

PaLyCH

  • Давно я тут
  • 956
  • 146 / 19
  • Менеджер проектов
Петя,не закончил. Забыл про sub_viewspecial.php
*

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Петя,не закончил. Забыл про sub_viewspecial.php
кому нужно будет - найдут сами, не найдут - тогда уже пусть спрашивают :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

friend111

  • Захожу иногда
  • 63
  • 5 / 0
beliyadm полезное дополнение вы сделали для галереи, удобно будет искать нужные фото да и порядок наведется. Не могли бы вы здесь выложить исправленные файлы для 1.6, а то я пробовал что то не получилось, :dry: как говорится пока не специалист еще.
*

PaLyCH

  • Давно я тут
  • 956
  • 146 / 19
  • Менеджер проектов
Рекомендую True Gallery, в ней уже реализовано разделение по папкам
*

friend111

  • Захожу иногда
  • 63
  • 5 / 0
Просто Датсо  уже стоит, а True Gallery еще только на выходе. В дальнейшем обратим на нее внимание конечно, тем более совместный труд форумчан и будет нужна поддержка отечественному производителю. ::)
*

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Не могли бы вы здесь выложить исправленные файлы для 1.6
приношу свои извинения, но готовый файлов для 1.6 у меня нет, ибо данный хак писался в предверии выхода TrueGallery и на нем стоит много других хаков (не все рабочие), писать сейчас заново для 1.6 к сожалению не смогу.
Просто Датсо  уже стоит, а True Gallery еще только на выходе.
тогда рекомендую дождаться стабильной версии True Gallery, бо до неё осталось совсем немного
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Raz0r

  • Захожу иногда
  • 260
  • 6 / 6
читал что уйдет времени не менее 3-х недель, когда можно приблизительно ждать релиза? Понятное дело что НЕ МЕНЕЕ означает, но хотелось бы потестить уже, судя по описанию - вещь стоящая
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
А те фотографии, которые уже есть, можно как то раскидать по папкам для категорий? Может есть какой запрос? А то в галерее уже больше 33000 изображений и работать с ними становится все труднее.
*

PaLyCH

  • Давно я тут
  • 956
  • 146 / 19
  • Менеджер проектов
Будет мигратор, который сам все перетащит по нужным папкам.
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Будет мигратор, который сам все перетащит по нужным папкам.
Я так понимаю, вы подразумевали True Gallery?
*

PaLyCH

  • Давно я тут
  • 956
  • 146 / 19
  • Менеджер проектов
*

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А те фотографии, которые уже есть, можно как то раскидать по папкам для категорий? Может есть какой запрос? А то в галерее уже больше 33000 изображений и работать с ними становится все труднее.
можно, пример запроса можешь взять из конвертера - http://joomlaforum.ru/index.php/topic,43225.0.html
Но - 33000 изображений скрипт у тебя в данный момент физически не обработает.
Потому все что могу порекомендовать - подождать следующей версии конвертера, где этот момент будет учтен и по аналогии переписать для datso
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Проблема только в том, что у меня в материалах идет привязка изображений к боту Датсо. А материалов более 14000. Если я мигрирую в True, то что делать с данным траблом? Перебивать все ручками ох как не хочется!
*

PaLyCH

  • Давно я тут
  • 956
  • 146 / 19
  • Менеджер проектов
Ну тогда оставвайся как есть. В твоем случае решения нет
*

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
опять же решение есть - написать SQL запрос c функцией REPLACE, зацепив при этом еще и таблицу галереи и заменить пути в таблице #__content - если картинки вставлены напрямую ссылками.
В случае с ботом проще - поправить сам мамбот, пример аналогичного для TG будет
Но - эксперименты проводить только на локальном хосте, знания SQL и БД вообще обязательны, ибо объем большой, задача не такая уж простая.
Теоретически - все возможно сделать, но потребует некоторых трудозатрат, потому изначально задумался бы - смогу ли и нужно ли мне это :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Полное изображение из категории с JS эффектом (1.8.1)

Автор beliyadm

Ответов: 20
Просмотров: 14676
Последний ответ 25.06.2015, 14:22:52
от beliyadm
категории - эффект аккордеон

Автор kira

Ответов: 2
Просмотров: 5409
Последний ответ 29.05.2012, 18:34:27
от act1ve
Описание категории при просмотре мини эскизов для 1.8.4

Автор Webprohozhiy

Ответов: 1
Просмотров: 4816
Последний ответ 01.10.2011, 20:27:58
от hlopusha16
Как присвоить категории индивидуальную, а не генерированную, картинку в DatsoGallery 1.6.2.

Автор pclux

Ответов: 1
Просмотров: 5289
Последний ответ 24.02.2011, 23:04:01
от Animatik
От мини-эскизов сразу в лайтбокс. Как сделать? DatsoPic

Автор kans

Ответов: 15
Просмотров: 19010
Последний ответ 27.02.2010, 22:19:48
от Peroon