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

pvlk

  • Осваиваюсь на форуме
  • 37
  • 2 / 0
Встал вопрос об отображении списка товаров двумя способами. Решение частично было найдено на сайте VirtueMart.net, спасибо так же beglear за указанные ошибки. (Virtuemart 1.1.3)
Собственно решение...
в файл browse_x.php добавляем условия
Код
    
<?php
    $ListType = $_GET['lType'];
    if($ListType == "variant2" || !isset($ListType)){
?>

Первый вариант вывода

<?php
    } else if($ListType == "variant1"){
?>

Второй вариант вывода

<?php
    }
?>

в файл browse_orderbyform.tpl.php добавляем две ссылки
Код
<a href="index.php?option=com_virtuemart&page=shop.browse&category_id=<?php echo $_GET['category_id'] ?>&Itemid=<?php echo $_GET['Itemid'] ?>&lType=variant1">вариант 1</a> | <a href="index.php?option=com_virtuemart&page=shop.browse&category_id=<?php echo $_GET['category_id'] ?>&Itemid=<?php echo $_GET['Itemid'] ?>&lType=varian2">вариант 2</a>

в файле shop.browse.php находим код
Код
$db_browse->query( $list );
$db_browse->next_record();

$products_per_row = (!empty($category_id))? $db_browse->f("products_per_row") : PRODUCTS_PER_ROW;
  
if( $products_per_row < 1 ) {
$products_per_row = 1;
}
и меняем его на
Код
$db_browse->query( $list );
$db_browse->next_record();

$products_per_row = (!empty($category_id))? $db_browse->f("products_per_row") : PRODUCTS_PER_ROW;
  
    if($ListType == "details" || !isset($ListType)){$products_per_row = 3;} else {$products_per_row = 1;};

if( $products_per_row < 1 ) {
$products_per_row = 1;
}
в данном случае
Код
$products_per_row = 3;
, меняете под себя
« Последнее редактирование: 05.11.2009, 16:44:27 от pvlk »
*

pvlk

  • Осваиваюсь на форуме
  • 37
  • 2 / 0
частично решение найдено http://forum.virtuemart.net/index.php?topic=54070.0

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

pvlk

  • Осваиваюсь на форуме
  • 37
  • 2 / 0
проблему решил присвоением значения $products_per_row в shop.browse.php
*

pvlk

  • Осваиваюсь на форуме
  • 37
  • 2 / 0
+1
Оформите красиво решение и привидите ссылку на демо - поместим в "Решённые вопросы"
Кажись я погорячился не корректно передается  $category_id  и Itemid. подскажите что не так в ссылке

index.php?option=com_virtuemart&page=shop.browse&category_id='.$_GET['category_id'].'&Itemid='.$_GET['Itemid'].'&lType=details

и тогда вопрос будет решен
*

pvlk

  • Осваиваюсь на форуме
  • 37
  • 2 / 0
Как видно я где то напортачил.
У меня в некоторых категориях показывает browse_orderbyform, а в некоторых нет :(
И при выборе отображения почему то отображает одну и ту же категорию

тут есть
http://faunafood.ru/index.php?option=com_virtuemart&page=shop.browse&category_id=17&Itemid=45
а тут нету
http://faunafood.ru/index.php?option=com_virtuemart&page=shop.browse&category_id=153&Itemid=45

такое ощущение что в строке
index.php?option=com_virtuemart&page=shop.browse&category_id='.$category_id.'&Itemid='.$_GET['Itemid'].'&lType=details

$category_id и Itemid постоянные значения
« Последнее редактирование: 04.11.2009, 23:26:37 от pvlk »
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
я понял в чём дело -
index.php?option=com_virtuemart&page=shop.browse&category_id=<?php echo $_GET['category_id'] ?>&Itemid=<?php echo $_GET['Itemid'] ?>&lType=details
нужно было сразу ссылку дать
*

pvlk

  • Осваиваюсь на форуме
  • 37
  • 2 / 0
я понял в чём дело -
index.php?option=com_virtuemart&page=shop.browse&category_id=<?php echo $_GET['category_id'] ?>&Itemid=<?php echo $_GET['Itemid'] ?>&lType=details
нужно было сразу ссылку дать

Ура все заработало! СПАСИБО!
Немного свободного времени и оформлю по человечески!
*

sleed

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Первый вариант вывода
Второй вариант вывода

- можете пример написать выбора, стандартного что есть...не пойму что туда вставлять
*

sleed

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
browse_listtable, browse_notables - как такой выбор сделать. http://zapravkashop.ru/hp-cherno-belye-lazernye-printery-i-mfu.html - здесь так сделали. помогите как мне так себе сделать....всё вставил, а что в выбор вставить не пойму  ! ! !
*

sleed

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
       <?php
    $ListType = $_GET['lType'];
    if($ListType == "browse/includes/".$browse_listtable.".tpl.php" || !isset($ListType)){
?>

Первый вариант вывода

<?php
    } else if($ListType == "browse/includes/".$browse_notables.".tpl.php"){
?>

Второй вариант вывода

<?php
    }
?> 
- сделал так. и тоже не работает... !
*

sleed

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
не туда походу код вставил, подскажите  ! , куда вставить код ниже...непойму  !...пример напишите, если не трудно...

productListStyle=browse/includes/browse_notables.tpl.php
productListStyle=browse/includes/browse_listtable.tpl.php

*

sleed

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Всё сделал. по первому посту. и не чего не меняется. http://krepezh.org/magazin.html . Щас тут стоит таблицей. хочу что переключало вид как щас на сайте таблицей и без таблицы как есть стандартно картинками. Вот 3 файла, что я менял. http://depositfiles.com/files/v14tco3lh  В чём тут загвостка..помогите разабраться, таблицей и картинками чтоб выбор был.
*

sleed

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
http://zapravkashop.ru/hp-cherno-belye-lazernye-printery-i-mfu.html  - здесь так сделано.  переключение между товаром и картинками.
они сказали что

 shop.browse.php - в самом низу подключается шаблон. если сделать кнопки преключения и в зависимости от того какая кнопка - менять стиль.

if (!empty($browsestyle)) {
 $tplproductListStyle = "browse/includes/".$browsestyle.".tpl.php";
 }
 else {
 $tplproductListStyle = $tpl->config->get( 'productListStyle' );
 }
 echo $tpl->fetch($tplproductListStyle );

где $browsestyle - имя шаблона вывода товаров,что вы передаете через кнопку


Я сделал как они написали.

browse_orderbyform.tpl.php сюда я понял что кнопки вставлять надо.

Вот код что я вставил.
<a href="index.php?option=com_virtuemart&page=shop.browse&category_id=<?php echo $_GET['category_id'] ?>&Itemid=<?php echo $_GET['Itemid'] ?>&lType=browse_listtable">вариант 1</a> | <a href="index.php?option=com_virtuemart&page=shop.browse&category_id=<?php echo $_GET['category_id'] ?>&Itemid=<?php echo $_GET['Itemid'] ?>&lType=browse_notables">вариант 2</a>

В shop.browse.php код такой вставил.
if (!empty($browse_listtable)) {
 $tplproductListStyle = "browse/includes/".$browse_notables.".tpl.php";
 }
 else {
 $tplproductListStyle = $tpl->config->get( 'productListStyle' );
 }
 echo $tpl->fetch($tplproductListStyle );


не работает тоже так переключение между таблицией и картинками. Подскажите где я допустил ошибку.
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
Попробуй сделать все ЗАНОВО так, как написано в первом посте!
*

sleed

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
всё 1в1 по 1 посту.  http://krepezh.org/magazin.html - щас тут так стоит . Вот 3 файла, что я менял. http://depositfiles.com/files/v14tco3lh  . по первому посту я непойму что там меняться должно. мне надо шаблоны чтоб менялись browse_listtable, browse_notables. пенеключение между таблицей и картинками. Спецы помогите... !
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
мне надо шаблоны чтоб менялись browse_listtable, browse_notables. пенеключение между таблицей и картинками.
Тут используется один файл browse_X (а не browse_listtable, browse_notables), просто код из этих файлов тебе надо вставить
Цитировать
<?php
    $ListType = $_GET['lType'];
    if($ListType == "variant2" || !isset($ListType)){
?>

Сюда-> Первый вариант вывода

<?php
    } else if($ListType == "variant1"){
?>

Сюда-> Второй вариант вывода

<?php
    }
?>
*

sleed

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
я сразу не понял какой код туда вставлять надо. Но оно только меняет в таком виде как оформлены browse_1.php, browse_2.php и т.д.
Я вставил в Первый вариант вывода browse_1.php, а во Второй вариант вывода код browse_listtable.tpl.php (как тут оформлено мне надо) и щас когда нажимаю на выбор чтоб отображалось таблицей у меня их 3 одинаковых сразу на странице. http://rails.com.ua/index.php?option=com_virtuemart&Itemid=95. выбор работает - спасибо DaVinchy, что тыкнул куда вставлять, чего только 3 таблицы(
« Последнее редактирование: 11.05.2011, 01:14:59 от sleed »
*

ivan01

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
 Парни, все работает, кроме кол-ва товаров в строке . Мне нужно, чтобы 1вариант products_per_row = 1, а второй вариант products_per_row = 3.  Если в shop_browse  добавляю
Цитировать
if($ListType == "variant2" || !isset($ListType)){$products_per_row = 3;} else {$products_per_row = 1;};
, то и в 1ом и 2ом варианте кол-во товаров в строке - 3, VirtueMart 1.1.4  что неправильно делаю??

да, еще в ссылке
Цитировать
<a href="index.php?option=com_virtuemart&page=shop.browse&category_id=<?php echo $_GET['category_id'] ?>&Itemid=<?php echo $_GET['Itemid'] ?>&lType=variant1">вариант 1</a> | <a href="index.php?option=com_virtuemart&page=shop.browse&category_id=<?php echo $_GET['category_id'] ?>&Itemid=<?php echo $_GET['Itemid'] ?>&lType=varian2">вариант 2</a>
  потеряна буква "t" в слове variant2
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
в условии попробуйте вместо || прописать &&
*

ivan01

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
в условии попробуйте вместо || прописать &&

 кол-во товаров в строке становится = 1 и в вариант1, и в варианте2.
*

DaVinchy

  • Захожу иногда
  • 326
  • 42 / 3
а если вот так
Код
if($ListType == "variant2" && isset($ListType)){$products_per_row = 3;} else {$products_per_row = 1;};
*

ivan01

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Цитировать
а если вот так
Код
if($ListType == "variant2" && isset($ListType)){$products_per_row = 3;} else {$products_per_row = 1;};

тоже не помогло... эффект как и с || на &&
блин, перелопатил весь инет, тут самое нормальное решение представлено, но c products_per_row косяк, у меня )  


разобрался, в shop.browse.php добавил $ListType = $_GET['ListType'];   теперь меняется кол-во товаров в строке..
« Последнее редактирование: 25.07.2011, 20:36:19 от ivan01 »
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Тут используется один файл browse_X (а не browse_listtable, browse_notables), просто код из этих файлов тебе надо вставить
Здраствуйте, не могли бы Вы примером показать как вставить шаблон browse_x (php не знаю самоучка). Делаю все как описано выше, осталось только это

<?php
    $ListType = $_GET['lType'];
    if($ListType == "variant2" || !isset($ListType)){
?>

Сюда-> Первый вариант вывода   <--что здесь писать допустим на шаблон browse_listtable.tpl.php таблица

<?php
    } else if($ListType == "variant1"){
?>

Сюда-> Второй вариант вывода   <--что здесь писать browse_x допустим
<?php
    }
?>
« Последнее редактирование: 13.10.2011, 01:26:00 от tefun »
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Код
echo $tpl->fetch( $tpl->config->get( 'productListStyle' ) ); //возьмет то что выбрано в админке
echo $tpl->fetch( 'browse/includes/browse_listtable_my.tpl.php' ); //что-то своё
Блин, самое обидное у меня с первого раза все получилось >:(
Вообщем у меня теперь вариант 2 показывает, жмем на вар 1
Fatal error: Call to a member function fetch() on a non-object in ....... components\com_virtuemart\themes\default\templates\browse\browse_22.php on line 18
Что делать?
Шаблон вот browse_x в админке, он же вар 2

Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__);
 ?>


<?php
    $ListType = $_GET['lType'];
    if($ListType == "variant2" || !isset($ListType)){

?>
<?php echo $tpl->fetch( $tpl->config->get( 'productListStyle' ) ); //возьмет то что выбрано в админке ?>

<?php
    } else if($ListType == "variant1"){
 
?>

<?php echo $tpl->fetch( 'browse/browse_10.php' ); //что-то своё?>



<?php
    }
?>
<table style="height: 223px;" border="0" cellspacing="0" cellpadding="0" width="203">

<tbody>

<tr>
<td colspan="4" height="3" valign="top"> </td>
</tr>

<tr>
<td colspan="4" align="center" valign="middle">
<div style='position: relative;'>
<div>
     <script type="text/javascript">//<![CDATA[
        document.write('<a href="javascript:void window.open(\'<?php echo $product_full_image ?>\', \'win2\', \'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=<?php echo $full_image_width ?>,height=<?php echo $full_image_height ?>,directories=no,location=no\');">');
        document.write( '<?php echo ps_product::image_tag( $product_thumb_image, 'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' )?></a>' );
        //]]>
        </script>
        <noscript>
            <a href="<?php echo $product_full_image ?>" target="_blank" title="<?php echo $product_name ?>">
            <?php echo ps_product::image_tag( $product_thumb_image, 'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' )?>
            </a>
        </noscript>
        </div>
<div style='position: absolute; right: 15px; top: 0;'>
<?php echo $new_img; ?>
</div>
<div style='position: absolute; right: 15px; bottom: 0;'>
<?php echo $leader_img; ?>
</div>
</div>
</td>
</tr>

<tr>
<td width="193" colspan="3" height="38" align="center"> 

<br>
<a title="<?php echo $product_name ?>" href="<?php echo $product_flypage ?>">
            <?php echo $product_name ?></a>
           

</td>
<td width="8" height="38" align="center">        
</td>
<td width="0" height="38" align="center"> </td>
</tr>

<tr>
<td width="28"> </td>
<td width="110" height="38" align="left" valign="bottom">

<br>
<a title="<?php echo $product_name ?>" href="<?php echo $product_flypage ?>">
            </a>
            <?php echo $product_rating ?>

</td>

<td width="55" height="38" align="right" valign="bottom">
<div>
            <?php echo $product_price ?><?php echo $form_addtocart ?><?php echo $quantaty ?>
           
</div>
</td>
<td width="8">        
</td>
<td width="0"> </td>
</tr>

<tr>
<td colspan="4" height="8" valign="top"> </td>
</tr>

</tbody>
</table>
<p></p>
</div>

то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[download] Модуль вывода товаров для VirtueMart (1.2.3 и 2.1)

Автор beliyadm

Ответов: 1448
Просмотров: 387606
Последний ответ 21.07.2015, 06:21:55
от Серегин
Альтернативный модуль вывода категорий товаров (mod_kdz_vm_categories)

Автор kordima

Ответов: 89
Просмотров: 31585
Последний ответ 19.02.2015, 22:02:14
от kordima
Отображение товаров в виде таблицы

Автор Doppelganger

Ответов: 183
Просмотров: 63328
Последний ответ 15.04.2014, 23:27:29
от 4ifir
Пагинация в категории товаров

Автор chgr73

Ответов: 0
Просмотров: 2174
Последний ответ 20.02.2014, 16:06:50
от chgr73
Сортировка товаров по цене

Автор Batyabest

Ответов: 2
Просмотров: 2141
Последний ответ 10.01.2014, 13:37:55
от Batyabest