Новости Joomla

👩‍💻 Компонент "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

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

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

fsv

  • Moderator
  • 2787
  • 413 / 2
Регионы - отображение не кодом, а названием
С проверкой для РФ на совпадение названий региона и города.

Joomla 1.5.22 & VirtueMart 1.1.5 stable
Joomla 1.5.23 & VirtueMart 1.1.8 stable

Если названия города и региона совпадают, то выводится только название города без названия региона.
В РФ это:
- город «Москва» = 77 регион «Москва»
- город «Санкт-Петербург» = 78 регион «Санкт-Петербург»


На 1-м шаге заказа (основной адрес):

\components\com_virtuemart\themes\default\templates\checkout\ customer_info.tpl.php
стр.55
$db->p("state_2_code");
заменить на

для всех, кроме РФ:
$db->p("state_name");

для РФ:
if ($db->f("country_id") == '176') {
if ($db->f("state_2_code")!='77' && $db->f("state_2_code")!='78') {
$db->p("state_name");
}
}


На 1-м шаге заказа (дополнительные адреса доставок):

\components\com_virtuemart\themes\default\templates\checkout\ list_shipto_addresses.tpl.php
стр.65
echo $db->f("state_2_code"). " ";
заменить на

для всех, кроме РФ:
echo $db->f("state_name"). " ";

для РФ:
if ($db->f("country_id") == '176') {
if ($db->f("state_2_code")!='77' && $db->f("state_2_code")!='78') {
echo $db->f("state_name"). " ";
}
}

На 4-м шаге заказа:

\components\com_virtuemart\themes\default\templates\checkout\get_final_confirmation.tpl.php
МЕЖДУ  стр.52:  
  ), true );
и стр.53:
echo "</td></tr>";
вставляем:

для всех, кроме РФ:
echo $state_name;
echo "  ";
echo $db->f("zip");

для РФ:
$q = "SELECT state_2_code FROM #__{vm}_state WHERE state_2_code='".$db->f("state")."'";
$dbs->query($q);
$state_2_code = $dbs->f("state_2_code");
if ($country_id == '176') {
if ($state_2_code !='77' && $state_2_code !='78') {
echo $state_name;
echo "  ";
echo $db->f("zip");
}
else {
echo $db->f("zip");
}
}

в админке VirtueMart – Магазин – Информация о магазине - Формат адреса магазина:  убираем (если есть) {zip}


В кабинете Покупателя на странице заказа - «Управление учетной записью -> Информация о заказе»:

\components\com_virtuemart\themes\default\templates\pages\ account.order_details.tpl.php
перед примерно стр. 106
case 'country':
вставить:

case 'state':     
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbbt->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbbt->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );                                          
break;

перед примерно стр. 146 (до правок)
case 'country':
вставить:
то же


В приходящем Покупателю письме:

/comoponents/com_virtuemart/themes/ default /templates/order_emails/confirmation_email.tpl.php
перед примерно стр. 77
case 'country':
вставить:  см.выше (Информация о заказе)

перед примерно стр. 116 (до правок)
case 'country':
вставить:
case 'state':     
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbst->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbst->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );                                          
break;


В панели управления VirtueMart в информации о заказе – «Заказы – Список заказов – заказ#»:

administrator/components/com_virtuemart/html/order.order_print.php  

перед примерно стр. 225
case 'country':
вставить:
case 'state':     
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbt->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbt->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );                                          
break;

перед примерно стр. 263 (до правок)
case 'country':
вставить:
то же


В панели управления VirtueMart в информации о заказе – «Заказы – Список заказов – заказ# - ВИД для ПЕЧАТИ»:

administrator/components/com_virtuemart/html/order.order_printdetails.php  
перед примерно стр. 110
case 'country':
вставить:

case 'state':     
$dbstl = new ps_DB();
$q = "SELECT state_name FROM #__{vm}_state WHERE #__{vm}_state.country_id = ";
$q .= "(SELECT country_id FROM #__{vm}_country WHERE #__{vm}_country.country_3_code = '".$dbbt->f('country')."') ";
$q .= "AND #__{vm}_state.state_2_code = '".$dbbt->f('state')."' ";
$dbstl->query($q);
$dbstl->next_record();
echo $dbstl->f( 'state_name' );                                          
break;

перед примерно стр. 145 (до правок)
case 'country':
вставить:
то же

=====================================================================================================

\administrator\components\com_virtuemart\classes\ps_html.php
function dynamic_state_lists
Код
$script .= "states[".$i++."] = new Array( '".$country_3_code."','".$db->f("state_2_code")."','".addslashes($db->f("state_name"))."' );\n";
заменить на
Код
$script .= "states[".$i++."] = new Array( '".$country_3_code."','".addslashes($db->f("state_name"))."','".addslashes($db->f("state_name"))."' );\n";
и приличная часть вышеизложенной "простыни" не нужна.
« Последнее редактирование: 15.12.2012, 00:33:50 от fsv »
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
Цитировать
На 1-м шаге заказа (дополнительные адреса доставок):

\components\com_virtuemart\themes\default\templates\checkout\ list_shipto_addresses.tpl.php
стр.65
echo $db->f("state_2_code"). " ";
заменить на

для всех, кроме РФ:
echo $db->f("state_name"). " ";

для РФ:
if ($db->f("country_id") == '176') {
if ($db->f("state_2_code")!='77' && $db->f("state_2_code")!='78') {
echo $db->f("state_name"). " ";
}
}

На этом участке кода вылазеет ошибка - Название региона 2 раза. Т.е. Саратовская область Саратовская область
*

fsv

  • Moderator
  • 2787
  • 413 / 2
На этом участке кода вылазеет ошибка - Название региона 2 раза. Т.е. Саратовская область Саратовская область

- а вы обратили внимание, что это 2 варианта замены: "кроме РФ" и "для РФ".
или вы весь код скопировали?

- и вы убрали «старый» код, который был, вы писали, что здесь нашли и изменили?
echo $db->f("state_name"). " "; 

- покажите ваш измененный код
« Последнее редактирование: 14.06.2011, 16:20:10 от fsv »
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
- а вы обратили внимание, что это 2 варианта замены: "кроме РФ" и "для РФ".
или вы весь код скопировали?

- и вы убрали «старый» код, который был, вы писали, что здесь нашли и изменили?
echo $db->f("state_name"). " "; 

- покажите ваш измененный код
Извиняюсь, значит я просто неправильно понял, что это два варианта замены.
Но, все равно у меня почему-то на 1-м шаге заказа (основной адрес):

\components\com_virtuemart\themes\default\templates\checkout\ customer_info.tpl.php
стр.55

При замене кода:

Код: php
$db->p("state_2_code");

На:

Код: php
для РФ:
if ($country_id == '176') {
if ($state_2_code !='77' && $state_2_code !='78') {
$db->p("state_name");
}
}

Получается, что вместо региона пусто.
*

fsv

  • Moderator
  • 2787
  • 413 / 2
- какой город в основном адресе? если Москва или Питер, то должно быть пусто

- я испытывал только на VM 1.1.5, о чем и указал. Ваша версия?

- покажите код (файл с изменениями, только сверните)
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
- какой город в основном адресе? если Москва или Питер, то должно быть пусто

- я испытывал только на VM 1.1.5, о чем и указал. Ваша версия?

- покажите код (файл с изменениями, только сверните)

Код:

Код: php
// for state, can be used: state_name, state_2_code, state_3_code
if ($country_id == '176') {
if ($state_2_code !='77' && $state_2_code !='78') {
$db->p("state_name");
}
}             echo ", ";
             $db->p("zip");
             echo "<br /> ";
Версия:1.1.8
*

fsv

  • Moderator
  • 2787
  • 413 / 2
у меня также, все работает.
надо будет поставить 1.1.8 и посмотреть

кстати, вы не ответили, в основном адресе НЕ Москва или Питер?
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
у меня также, все работает.
надо будет поставить 1.1.8 и посмотреть

кстати, вы не ответили, в основном адресе НЕ Москва или Питер?
Нет, Энгельс, Саратовская область,

А получается: Энгельс, ,
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
Дело в том, что я попробовал изменить, только 1-й  шаг, возможно необходимо произвести изменения во всех файлах. (Хотя, вроде все правил, все работало...)Надо подумать..
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Дело в том, что я попробовал изменить, только 1-й  шаг, возможно необходимо произвести изменения во всех файлах. (Хотя, вроде все правил, все работало...)Надо подумать..

да нет, во всех файлах сразу не надо. после каждого измененного файла виден результат на определенном шаге.
поставлю 1.1.8, отпишусь

Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
да нет, во всех файлах сразу не надо. после каждого измененного файла виден результат на определенном шаге.
поставлю 1.1.8, отпишусь
Огромное спасибо!

*

fsv

  • Moderator
  • 2787
  • 413 / 2
"В приходящем Покупателю письме:", во второй части заметил ошибку. Вроде смотрел, но не видел. Надо подумать.

исправил.
в 2-х местах по 1 букве перепутал.
« Последнее редактирование: 14.06.2011, 19:19:34 от fsv »
Веб-разработка: заказ. Только новая разработка.
*

fsv

  • Moderator
  • 2787
  • 413 / 2
проверил на Joomla 1.5.23 & VirtueMart 1.1.8 stable - все работает.
Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
проверил на Joomla 1.5.23 & VirtueMart 1.1.8 stable - все работает.

Сегодня по позже ещё раз попробую проверить... Наверное это у меня какой-нибудь глюк.
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Сегодня по позже ещё раз попробую проверить... Наверное это у меня какой-нибудь глюк.

Это моя ошибка. Прошу прощения.
Код изменил. Забыл обращение к базе записать, а работало, потому что в основном адресе у меня был 77 регион. Изменил на вашу ситуацию, заметил свою ошибку.

Веб-разработка: заказ. Только новая разработка.
*

vip-leonid

  • Захожу иногда
  • 71
  • 0 / 0
  • Жизнь прекрасна...
Это моя ошибка. Прошу прощения.
Код изменил. Забыл обращение к базе записать, а работало, потому что в основном адресе у меня был 77 регион. Изменил на вашу ситуацию, заметил свою ошибку.


Огромное Вам спасибо, за такую серьёзную проделанную работу!
*

GTpro

  • Захожу иногда
  • 102
  • 1 / 0
Спасибо!
VM 1.1.2
JLE 1.0.15
Все отлично работает!
*

bixitron

  • Осваиваюсь на форуме
  • 34
  • 1 / 0
Отличная работа, спасибо. Долго искал это решение... +1
Вот только у меня при выборе Москвы или С-Петербурга всё равно добавляет название региона к городу.
VM 1.1.9, Joomla 1.5.25
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Вот только у меня при выборе Москвы или С-Петербурга всё равно добавляет название региона к городу.
VM 1.1.9, Joomla 1.5.25

Попробуйте внимательно проверить, правильно ли скопировали код.
Если все соответствует, на каком шаге ошибка (код приведите)?

Веб-разработка: заказ. Только новая разработка.
*

bestvinyl

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

Airat9000

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
вот я все сделал теперь вообще страны пропали в заказе товара что за бред*?
*

fsv

  • Moderator
  • 2787
  • 413 / 2
вот я все сделал теперь вообще страны пропали в заказе товара что за бред*?

значит не "все". или больше, чем "все".
Веб-разработка: заказ. Только новая разработка.
*

market316

  • Новичок
  • 4
  • 0 / 0
fsv, подскажите, пожалуйста.
У меня Joomla! 1.5.25, VirtueMart 1.1.9, стоит шаблон для VirtueMart Mynxx. Я, естественно, вносил ваши изменения в файлы этого шаблона. Не помогло.
Возможно, нужно независимо от установленного шаблона менять Default? И что вы имеете ввиду, когда пишете о "приличной части вышеизложенной "простыни", чего из написанного можно не делать?

Может, кто другой знает ответ?
*

fsv

  • Moderator
  • 2787
  • 413 / 2
И что вы имеете ввиду, когда пишете о "приличной части вышеизложенной "простыни", чего из написанного можно не делать?
Это было дополнение через 1,5 года после старт-поста...
Чтобы ответить на ваш вопрос, мне надо все повторить, но можно проще:
- сначала делаете это дополнение;
-потом смотрите, что еще надо делать, а что уже не надо из того, что описано выше.


У меня Joomla! 1.5.25, VirtueMart 1.1.9, стоит шаблон для VirtueMart Mynxx. Я, естественно, вносил ваши изменения в файлы этого шаблона. Не помогло.
Возможно, нужно независимо от установленного шаблона менять Default?
Изменять надо шаблоны используемой темы VM. С вашим шаблоном не знаком. Для проверки работоспособности кода можете переключить на дефолтную тему и изменить ее. Неоднократно сталкивался с тем, насколько эти "темы" кривые, но это не значит, что и ваша такая, возможно, код отличается от дефолтного, и вы не туда перенесли.
Веб-разработка: заказ. Только новая разработка.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться