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

djking

  • Новичок
  • 9
  • 0 / 0
и что мы видим в этом архиве??? три оригинальных файла: ps_cart.php, shop.browse.php, shop.cart.php, взятые с virtuemart'a версии 1.0.0
*

yAnTar

  • Захожу иногда
  • 296
  • 81 / 3
Цитировать
и что мы видим в этом архиве??? три оригинальных файла: ps_cart.php, shop.browse.php, shop.cart.php, взятые с virtuemart'a версии 1.0.0
Если б вы посмотрели внимательнее в эти файлы, или если бы скопировали их по папкам, то увидели бы результат, немного иной, чем в стандартном виртуемарте.
Firefox the best, Google the best, jQuery the best.
yAnTar блог
*

SNEg

  • Осваиваюсь на форуме
  • 26
  • 4 / 0
yAnTar правду глаголит. Файлы отлично работают, за что ему спасибо.  :D Проверено лично.
*

SNEg

  • Осваиваюсь на форуме
  • 26
  • 4 / 0
Вот долго готовился и вычленив данный патч обновил его с версии VM 1.0.3 (от yAnTar) до версии VM 1.0.10.
Выкладываю построчную правку файлов и сами уже исправленные файлы. Правке подлежат 2 файла.
Только есть небольшая проблема с этой версией магазина, нужна помощь автора хака :) . О ней позже.

Итак:

Файл /administrator/components/com_virtuemart/html/shop.browse.php

строка 285:
это:
Код
/*** Start printing out all products (in that category) ***/
while ($db_browse->next_record()) {

// If it is item get parent:

меняем на это:
Код
/*** Start printing out all products (in that category) ***/
echo "<form action=\"". $mm_action_url ."index.php\" method=\"post\" name=\"addtocart\" id=\"addtocart\">".
"<input type=\"hidden\" name=\"page\" value=\"shop.cart\" />\n
<input type=\"hidden\" name=\"func\" value=\"cartadd\" />\n
<input type=\"hidden\" name=\"Itemid\" value=\"$Itemid\" />\n
<input type=\"hidden\" name=\"option\" value=\"com_virtuemart\" />\n";
while ($db_browse->next_record()) {

// If it is item get parent:

строка 393:
это:
Код
/*** Add-to-Cart Button ***/
if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
$form_addtocart = "<form action=\"". $mm_action_url ."index.php\" method=\"post\" name=\"addtocart\" id=\"addtocart".$i."\">\n
<label for=\"quantity_".$i."\">".$VM_LANG->_PHPSHOP_CART_QUANTITY.":</label>\n
<input id=\"quantity_".$i."\" class=\"inputbox\" type=\"text\" size=\"3\" name=\"quantity\" value=\"1\" />
<input type=\"submit\" style=\"text-align:center;background-position:bottom left;width:160px;height:35px;cursor:pointer;border:none;font-weight:bold;font-family:inherit;background: url('". IMAGEURL ."ps_image/".PSHOP_ADD_TO_CART_STYLE ."') no-repeat left center transparent;vertical-align: middle;overflow:hidden;\" value=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO ."\" title=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO."\" />
<input type=\"hidden\" name=\"category_id\" value=\"".@intval($_REQUEST['category_id']) ."\" />\n
<input type=\"hidden\" name=\"product_id\" value=\"". $db_browse->f("product_id") ."\" />\n
<input type=\"hidden\" name=\"page\" value=\"shop.cart\" />\n
<input type=\"hidden\" name=\"func\" value=\"cartadd\" />\n
<input type=\"hidden\" name=\"Itemid\" value=\"$Itemid\" />\n
<input type=\"hidden\" name=\"option\" value=\"com_virtuemart\" />\n
</form>\n";
}
else
$form_addtocart = "";

/*** Now fill the template

меняем на это:
Код
/*** Add-to-Cart Button ***/
if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_PHPSHOP_PRODUCT_CALL )) {
$form_addtocart = "\n
<label for=\"quantity_".$i."\">".$VM_LANG->_PHPSHOP_CART_QUANTITY.":</label>\n
<input id=\"quantity_".$i."\" class=\"inputbox\" type=\"text\" size=\"3\" name=\"quantity[]\" value=\"0\" />
<input type=\"hidden\" name=\"category_id[]\" value=\"". @intval($_REQUEST['category_id']) ."\" />\n
<input type=\"hidden\" name=\"product_id[]\" value=\"". $db_browse->f("product_id") ."\" />\n";
}
else
$form_addtocart = "";

/*** Now fill the template

строка 513:
это:
Код
} /*** END OF while loop ***/

echo '<br style="clear:both;" />';

меняем на это:
Код
} /*** END OF while loop ***/
echo "<input type=\"submit\" style=\"text-align:center;background-position:bottom left;width:160px;height:35px;cursor:pointer;border:none;font-weight:bold;font-family:inherit;background: url('". IMAGEURL ."ps_image/".PSHOP_ADD_TO_CART_STYLE ."') no-repeat left center transparent;vertical-align: middle;overflow:hidden;\" value=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO ."\" title=\"".$VM_LANG->_PHPSHOP_CART_ADD_TO."\" />".
"</form>";
echo '<br style="clear:both;" />';

Файл /administrator/components/com_virtuemart/classes/ps_cart.php

строка: 71
это:
Код
/**
* adds an item to the shopping cart
* @author pablo
* @param array $d
*/
function add(&$d) {
global $sess, $VM_LANG, $cart, $option, $vmLogger;
$d = $GLOBALS['vmInputFilter']->process( $d ); 
include_class("product");
$Itemid = $sess->getShopItemid();

меняем на это:
Код
/**
* adds an item to the shopping cart
* @author pablo
* @param array $d
*/
function add(&$d) {
global $sess, $VM_LANG, $cart, $option, $vmLogger;
$d = $GLOBALS['vmInputFilter']->process( $d ); 
/*           $array = ($_POST['quantity']);
  print (count($array));
  die(); */
$arr_product = $_POST['product_id'];
$arr_quantity = $_POST['quantity'];
for ($my_i = 0; $my_i<count($arr_product); $my_i++){
include_class("product");
$Itemid = $sess->getShopItemid(); 

строка 81:
это:
Код
$product_id = $d["product_id"];
$quantity = isset($d["quantity"]) ? $d["quantity"] : 1;
$_SESSION['last_page'] = "shop.product_details";

// Check for negative quantity

меняем на это:
Код
//$product_id = $d["product_id"];
//$quantity = isset($d["quantity"]) ? $d["quantity"] : 1;
$product_id = $arr_product [$my_i];
$quantity = $arr_quantity [$my_i];
if ($quantity == 0) continue;
$_SESSION['last_page'] = "shop.product_details";

// Check for negative quantity

строка 124:
это:
Код
if ( $db->num_rows()) {
$vmLogger->tip( $VM_LANG->_PHPSHOP_CART_SELECT_ITEM );
return false;
}

// If no quantity sent them assume 1

меняем на это:
Код
if ( $db->num_rows()) {
//$vmLogger->tip( $VM_LANG->_PHPSHOP_CART_SELECT_ITEM );
// return false;
}
           
// If no quantity sent them assume 1

строка 142:
это:
Код
$GLOBALS['page'] = 'shop.product_details';
$vmLogger->tip( $VM_LANG->_PHPSHOP_CART_SELECT_ITEM );
return true;

меняем на это:
Код
$GLOBALS['page'] = 'shop.product_details';
//$vmLogger->tip( $VM_LANG->_PHPSHOP_CART_SELECT_ITEM );
return true;

строка 179:
это:
Код
$cart = $_SESSION['cart'];
return True;
}

меняем на это:
Код
$cart = $_SESSION['cart'];
}
return True;
}

строка 190:
это:
Код
function update(&$d) {
global $sess,$VM_LANG, $func, $vmLogger;
$d = $GLOBALS['vmInputFilter']->process( $d );
include_class("product");
$db = new ps_DB;
$product_id = $d["product_id"];
$quantity = !empty($d["quantity"]) ? $d["quantity"] : 1;
$_SESSION['last_page'] = "shop.cart";

// Check for negative quantity

меняем на это:
Код
function update(&$d) {
global $sess,$VM_LANG, $func, $vmLogger;
$d = $GLOBALS['vmInputFilter']->process( $d );
$arr_product = $_POST['product_id'];
$arr_quantity = $_POST['quantity'];
for ($my_i = 0; $my_i<count ($arr_product); $my_i++){
include_class("product");
$product_id = $arr_product [$my_i];
$quantity = $arr_quantity [$my_i];
$db = new ps_DB;
/* $product_id = $d["product_id"];
$quantity = !empty($d["quantity"]) ? $d["quantity"] : 1;  */
$_SESSION['last_page'] = "shop.cart";

// Check for negative quantity

строка 256:
вставить
Код
}

Если в чем ошибся, то поправьте меня.

После этого всё работает за исключением одного:
При пересчете позиций в корзине они както не правильно обновляются. Например было 100штук, а я исправил на 85 и нажал пересчитать. Так вот в позиции остается только 8, т.е. первая цифра от числа всегда.
Сам наверно не разберусь в чем проблема, если автор хака или кто-нибудь еще посмотрит и поможет, то буду оооочень благодарен.  ::)
Кстати оригинальные файлы от yAnTar на VM 1.0.10 тоже работают с такой ошибкой. Джумла у меня стоит 1.0.10.
Кто может, попробуйте эти файлы у себя.

[вложение удалено Администратором]
« Последнее редактирование: 20.03.2007, 13:52:20 от SNEg »
*

SNEg

  • Осваиваюсь на форуме
  • 26
  • 4 / 0
то yAnTar

Разбираясь с этой проблемкой с неправильным пересчетом товара в корзине, обнаружил что и на вашем сайте obed.su такая же проблема оказывается.  ????
*

yAnTar

  • Захожу иногда
  • 296
  • 81 / 3
Не видел раньше этого бага, как будет время, исправлю.
Firefox the best, Google the best, jQuery the best.
yAnTar блог
*

feto4ka

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
у меня возникла проблемка! Локально работает, а при переносе на сервер перестает показывать цену и окошко для установки количества.
Мож кто-то знает от чего такое бывает, подскажите пожалуйста, очень надо!

И еще если сразу ставлю на сервер, тогда тоже не отображает цену и окошко для количества
« Последнее редактирование: 22.03.2007, 15:33:36 от feto4ka »
*

vlad_2222

  • Осваиваюсь на форуме
  • 37
  • 0 / 1
подскажите плз , как добавить кнопки + и -
*

vlad_2222

  • Осваиваюсь на форуме
  • 37
  • 0 / 1
Н да лажает примочечка...... а если в корзине нажать F5 пару раз то количество увеличивается


а штучка такая нужна  позарез...
*

yAnTar

  • Захожу иногда
  • 296
  • 81 / 3
*

vlad_2222

  • Осваиваюсь на форуме
  • 37
  • 0 / 1
тока поправочка есть.
вместо images\plus.gif     -  images/plus.gif
*

yAnTar

  • Захожу иногда
  • 296
  • 81 / 3
Я есть.
Времени нет, да и забываю об этом.
Баг исправлен для пересчета товаров.
Файл administrator/components/com_virtuemart/html/basket.php

Ищете строки
Код
$order_total = 0;
$discount_before=$discount_after=$show_tax=$shipping=false;
$product_rows = Array();
И вставляете после них такие строки
Код
	
$product_id_update = mosGetParam($_REQUEST,'product_id', '');       
$func = mosGetParam($_REQUEST,'func', '');
$quantity = mosGetParam($_REQUEST,'quantity');

и после строки
Код
for ($i=0;$i<$cart["idx"];$i++) {
вставляете такие строки
Код
if ($cart[$i]['product_id'] == $product_id_update && $func == 'cartUpdate'){
   $cart[$i]['quantity'] = $quantity;
   $_SESSION['cart'][$i]['quantity'] = $quantity;
}

Цитировать
Н да лажает примочечка...... а если в корзине нажать F5 пару раз то количество увеличивается
Этого не вижу, жму Ф5 в корзине много раз количество не увеличивается.
Firefox the best, Google the best, jQuery the best.
yAnTar блог
*

yAnTar

  • Захожу иногда
  • 296
  • 81 / 3
Насчет Ф5 скажите на какой странице, перед тем как нажали кнопку чекаут или до того.
Firefox the best, Google the best, jQuery the best.
yAnTar блог
*

morph

  • Давно я тут
  • 924
  • 105 / 0
Теперь все нормально  ^-^-сделал последние исправления в basket.php проблема с Ф5 пропала.Спасибо за хак!
*

eamat

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
У меня у одного такая проблема?После замены файла ps_cart.php из архива vm_1010_patch.zip при добавлении товара в корзину со странице полного описания продукции(flypage) добавляется совсем другой товар :( (joomla 1.0.12,vm 1.0.10)
*

yAnTar

  • Захожу иногда
  • 296
  • 81 / 3
Да есть такой баг. Решение такое: открываете файл administrator/components/com_virtuemart/classes/ps_cart.php и заменяете строки
Цитировать
$product_id = $arr_product [$my_i];
$quantity = $arr_quantity [$my_i];
на такие
Цитировать
if (!is_array($arr_product)){
  $product_id = $arr_product;
  $quantity = $arr_quantity;
} else {
  $product_id = $arr_product [$my_i];
  $quantity = $arr_quantity [$my_i];
}
Firefox the best, Google the best, jQuery the best.
yAnTar блог
*

Artes

  • Осваиваюсь на форуме
  • 26
  • 2 / 0
вот сделал все и получите:
если клацнуть на кнопку купить со страницы каталога выдает такую батву:
Warning: Illegal offset type in /home/*****/administrator/components/com_virtuemart/classes/ps_product_category.php on line 610
притом если добавлять в корзину со страницы описания товара никаких проблем
*

yAnTar

  • Захожу иногда
  • 296
  • 81 / 3
Цитировать
Warning: Illegal offset type in /home/*****/administrator/components/com_virtuemart/classes/ps_product_category.php on line 610
Это предупреждение, возможно забыл проверку поставить, пока что такое временное решение - поставьте в этом файле error_reporting(0);
Позже посмотрю, почему это выскакивает
З.Ы. А вы во всех файлах исправления сделали ?
Firefox the best, Google the best, jQuery the best.
yAnTar блог
*

Artes

  • Осваиваюсь на форуме
  • 26
  • 2 / 0
З.Ы. А вы во всех файлах исправления сделали ?
Да вродь как. Откатил файлы назад все ок стало. И что характерно убрав {form_addtocart} пропало, только окошко с кол-вом товара, но кнопа в корзину осталась?
*

eamat

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Цитировать
А про Ф5-у меня так-же(количество меняется)...
тот же баг-хаки все делал и правильно,когда заходиш на страницу карзины index.php?page=shop.cart&option=com_virtuemart - и нажимаеш ф5-меняется,но странно,что в модуле корзины такого нет!
Что делать?
*

VIPersone

  • Захожу иногда
  • 55
  • 2 / 0
У меня после всех вышеуказанных исправлений пропала возможность обновлять товар в корзине. Кто-нибудь подскажет? Кнопка "обновление" - мертвая, "удалить" - работает....
« Последнее редактирование: 10.08.2007, 02:55:23 от VIPersone »
*

slake

  • Новичок
  • 5
  • 0 / 0
Это предупреждение, возможно забыл проверку поставить, пока что такое временное решение - поставьте в этом файле error_reporting(0);
Позже посмотрю, почему это выскакивает
З.Ы. А вы во всех файлах исправления сделали ?

если не трудно, подскажите решение этой проблемы
*

viy

  • Захожу иногда
  • 54
  • 0 / 1
Спасибо!  :D

А как сделать чтобы после того как нажмешь кнопку купить, остаться на этой же странице?
« Последнее редактирование: 24.03.2008, 09:41:04 от viy »

Спасибо огромное за такой полное и полезное решение!
Одна проблема - теперь кнопка "Купить" вылезает и в списке категорий тоже, не могу отследить, как этого можно избежать?
Помогите, плиз! :)
*

FleX

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Вот долго готовился и вычленив данный патч обновил его с версии VM 1.0.3 (от yAnTar) до версии VM 1.0.10.
Выкладываю построчную правку файлов и сами уже исправленные файлы. Правке подлежат 2 файла......

Всё классно с этим, только куда после этих изменений  из корзины подевалась кнопка "Продолжить закупки"???
*

Sanyo

  • Захожу иногда
  • 127
  • 11 / 0
"А как сделать чтобы после того как нажмешь кнопку купить, остаться на этой же странице?"
присоеденяюсь!
*

Sanyo

  • Захожу иногда
  • 127
  • 11 / 0
А если зайти в подробный вид товара и от туда сделать покупку, коризна показывает ценник 0 и не знает что за товар (((( как быть?!  !!!???!!!
А за хак, +1 молодцом!
*

kibi

  • Осваиваюсь на форуме
  • 34
  • 1 / 0
Подскажите пожалуйста, как сделать этот хак на VirtueMart 1.1.4,
Сравнил код - очень отличается, а в PHP не силен -  спецы
очень нужно
Заранее спасибо
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Эффект добавления в корзину

Автор Sanyo

Ответов: 114
Просмотров: 41672
Последний ответ 08.11.2014, 22:09:13
от site-logic
Kоличество (отобразить и сменить) в списке товаров в АДМИНКЕ

Автор ZeRa

Ответов: 6
Просмотров: 11079
Последний ответ 25.06.2014, 16:36:23
от newjey
Дополнительная кнопка купить

Автор Mishok333

Ответов: 7
Просмотров: 1951
Последний ответ 21.05.2014, 14:13:31
от Mishok333
Кнопка "Очистить корзину" VirtueMart Shopping Cart

Автор Iraina

Ответов: 3
Просмотров: 8656
Последний ответ 30.04.2014, 10:47:03
от q3scream
Отображение наименований товара в списке заказов (order.order_list)

Автор Wolverine

Ответов: 3
Просмотров: 1660
Последний ответ 16.12.2013, 16:26:27
от fsv