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

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Подскажите какие файлы править - не могу разобраться, и поиск не помог.
« Последнее редактирование: 30.08.2011, 23:59:22 от Katerina01 »
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Ребят, никто не знает как поменять местами описание и товары на странице производителя?
Нужно чтобы сначала шли товары а потом описание.
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Ребят, никто не знает как поменять местами описание и товары на странице производителя?
Нужно чтобы сначала шли товары а потом описание.

Сначала уточню, правильно ли я понял.
Вы хотите на странице всех товаров конкретного производителя типа
/index.php?option=com_virtuemart&page=shop.browse&manufacturer_id=1&Itemid=2  ,
на которую можно попасть, используя модуль mod_virtuemart_manufacturers ,
оставить вверху название производителя, а описание производителя переместить вниз под товары?
Если да, то:

\administrator\components\com_virtuemart\html\shop.browse.php
вывод в хедере названия и описания (с картинкой, если есть) производителя примерно в стр.128-138
elseif( $manufacturer_id) {
      $db->query( "SELECT manufacturer_id, mf_name, mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");
      $db->next_record();
      $mainframe->setPageTitle( $db->f("mf_name") );

      $browsepage_lbl = shopMakeHtmlSafe( $db->f("mf_name") );
      $tpl->set( 'browsepage_lbl', $browsepage_lbl );
      $browsepage_lbltext = $db->f("mf_desc");
      $tpl->set( 'browsepage_lbltext', $browsepage_lbltext );
      $browsepage_header = $tpl->fetch( 'browse/includes/browse_header_manufacturer.tpl.php' );
   }

Если вверху надо убрать описание производителя, а его название оставить, закомментируйте стр.
$tpl->set( 'browsepage_lbltext', $browsepage_lbltext );
Если и название также убрать, то закомментируйте стр.
$tpl->set( 'browsepage_lbl', $browsepage_lbl );

Вверху убрали. Внизу можно вставить над пагинацией. Для этого

после примерно стр.476,477
$tpl->set( 'products', $products );
$tpl->set( 'search_string', $search_string );
вставьте

if( $manufacturer_id) {
      $db->query( "SELECT manufacturer_id, mf_name, mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");
      $db->next_record();
      $mainframe->setPageTitle( $db->f("mf_name") );
      $browsepage_lbl = shopMakeHtmlSafe( $db->f("mf_name") );
      $tpl->set( 'browsepage_lbl', $browsepage_lbl );
      $browsepage_lbltext = $db->f("mf_desc");
      $tpl->set( 'browsepage_lbltext', $browsepage_lbltext );
      $browsepage_header = $tpl->fetch( 'browse/includes/ browse_pagenav.tpl.php' );
   }



а также в
\components\com_virtuemart\themes\default\templates\browse\includes\browse_pagenav.tpl.php
после проверки Direct Access (и до <?php if(!@is_object( $pagenav)) return;  ?>) в стр.3
вставить
<h3><?php echo $browsepage_lbl ?></h3>
<div class="browseDesc"><?php echo $browsepage_lbltext ?></div>





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

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
И снова fsv спешит на помощь! Еще +1 от меня  :D

А теперь к делу.
Да Вы правильно меня поняли. Нужно название производителя оставить вверху, а само описание перенести вниз.
Решение, которое Вы указали работает, но при одном условии - если работает пагинация!
В shop.browse.php код относящийся к пагинации у меня закомментирован - соответственно нет пагинации и нет описания производителей(((.

Куда еще, кроме browse_pagenav.tpl.php, можно запихнуть вывод
<div class="browseDesc"><?php echo $browsepage_lbltext ?></div> ?
Последнее, что у меня выводится на странице производителей - "недавно просмотренные товары" (по-моему это browse_notables.tpl.php)



*

fsv

  • Moderator
  • 2787
  • 413 / 2
"Недавно просмотренные товары" - recent.tpl.php , который не в группе шаблонов browse (в папке common).
Если пагинация совсем не нужна, можно попробовать в browse_pagenav.tpl.php после вышеуказанной вставки все удалить. То есть шаблон пагинации будет для вывода "чего-хочу". А в shop.browse.php пагинацию можно тогда не комментировать.
Веб-разработка: заказ. Только новая разработка.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Цитировать
...можно попробовать в browse_pagenav.tpl.php после вышеуказанной вставки все удалить. То есть шаблон пагинации будет для вывода "чего-хочу". А в shop.browse.php пагинацию можно тогда не комментировать.
Я пока так и сделала. Но у меня на счет пагинации есть задумка, о которой наверное лучше рассказать в отдельной теме))
И все же больше нет вариантов, кроме как browse_pagenav.tpl.php?
*

fsv

  • Moderator
  • 2787
  • 413 / 2
И все же больше нет вариантов, кроме как browse_pagenav.tpl.php?

Сходу в recent не получилось. Надо "колупать" дальше. Но сейчас уже сплю...
Веб-разработка: заказ. Только новая разработка.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
У меня еще такая идея есть:
Создаем browse_pagenav2.tpl.php в него пишем наш див.
Потом в shop.browse.php:
Код
$tpl->set( 'products', $products );
$tpl->set( 'search_string', $search_string );

if( $manufacturer_id) {
      $db->query( "SELECT manufacturer_id, mf_name, mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");
      $db->next_record();
      $mainframe->setPageTitle( $db->f("mf_name") );
      $browsepage_lbl = shopMakeHtmlSafe( $db->f("mf_name") );
      $tpl->set( 'browsepage_lbl', $browsepage_lbl );
      $browsepage_lbltext = $db->f("mf_desc");
      $tpl->set( 'browsepage_lbltext', $browsepage_lbltext );
      $browsepage_header = $tpl->fetch( 'browse/includes/browse_pagenav2.tpl.php' );
   }
           if ( $num_rows > 1 ) {
$browsepage_footer = $tpl->fetch( 'browse/includes/browse_pagenav2.tpl.php' );
                 $tpl->set( 'browsepage_footer', $browsepage_footer );
           }

// if ( $num_rows > 1 ) {
// $browsepage_footer = $tpl->fetch( 'browse/includes/browse_pagenav.tpl.php' );
// $tpl->set( 'browsepage_footer', $browsepage_footer );
// } else {
// $tpl->set( 'browsepage_footer', '' );
// }


Как бы работает...
Но что бы сделать такое  :-* с этим if ( $num_rows > 1 ), чтобы когда понадобится разкомментировать пагинацию это все вместе работало?
Сейчас если это сделать,то будет показана только пагинация((
Надеюсь смысл понятен ;)
*

fsv

  • Moderator
  • 2787
  • 413 / 2
Смысл понятен. Но ваш вариант сходу затрудняюсь.
Другое не очень понятно. Зачем дальше править shop.browse.php.

Если пагинация совсем временно не нужна, можно попробовать в browse_pagenav.tpl.php после вышеуказанной вставки все удалить. ... А в shop.browse.php пагинацию можно тогда не комментировать.

Когда опять нужна станет пагинация, в browse_pagenav.tpl.php вернуть удаленные строки. И будет и описание производителя, и пагинация.
Или это вам не подходит из-за вашей "задумки с пагинацией"?

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

fsv

  • Moderator
  • 2787
  • 413 / 2
Еще вариант. Кажется, лучше того, что предложил ранее. В смысле универсальнее для раздельной работы над шаблонами browse.

Вариант вывода информации в дополнительно созданном для этого шаблоне в футере browse над пагинацией.

1. Делаем копию browse_header_manufacturer.tpl.php и переименовываем ее в browse_footer_manufacturer.tpl.php. Ложим новый шаблон в ту же папку
\components\com_virtuemart\themes\default\templates\browse\includes\  .

2. Смотрим настройки темы VM -> Product List Style
если «Product Listing with a table (default)», то вы используете шаблон  browse_layouttable.tpl.php
если «Flat Product List (fixed to 1 product per row, using a table)», то вы используете шаблон  browse_listtable.tpl.php
если «Product List (no table, div-based)», то вы используете шаблон browse_notables.tpl.php
В папке \www\components\com_virtuemart\themes\default\templates\browse\includes\
открываете используемый шаблон.
Пусть это будет browse_notables.tpl.php.
перед
echo $browsepage_footer;
вставляете
echo $browsepage_footer_mf;

3. \administrator\components\com_virtuemart\html\shop.browse.php
после примерно стр.476,477
$tpl->set( 'products', $products );
$tpl->set( 'search_string', $search_string );
вставьте

Код
if( $manufacturer_id) {
$db->query( "SELECT manufacturer_id, mf_name, mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");
$db->next_record();
$mainframe->setPageTitle( $db->f("mf_name") );
$browsepage_lbl = shopMakeHtmlSafe( $db->f("mf_name") );
$tpl->set( 'browsepage_lbl', $browsepage_lbl );
$browsepage_lbltext = $db->f("mf_desc");
$tpl->set( 'browsepage_lbltext', $browsepage_lbltext );
$browsepage_footer_mf = $tpl->fetch( 'browse/includes/browse_footer_manufacturer.tpl.php' );
$tpl->set( 'browsepage_footer_mf', $browsepage_footer_mf );
}


« Последнее редактирование: 01.09.2011, 13:38:15 от fsv »
Веб-разработка: заказ. Только новая разработка.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
 fsv, вот этот вариант идеален, думаю всем подойдет! :D
Теперь с описанием можно творить все что угодно!
Еще раз спасибо, fsv.
 
*

SolopoV

  • Давно я тут
  • 577
  • 16 / 0
  • зеленею...
У меня после такого хака, описания производителей "протянулись" по всем категориям товаров, а не только на "страницах производителей".

Что-то поковырял и получилось нормально, единственное, что не смог сделать, что бы описание, показывалось только на первой странице товаров производителя, а не на всех.

Содержимое browse_footer_manufacturer.tpl.php
Код
<div><?php echo $browsepage_lbltext ?></div>

Содержимое browse_header_manufacturer.tpl.php
Код
<div><h2>Тра-та-та от <span class="whites"><?php echo $browsepage_lbl ?></span></h2></div>

Блок "elseif( $manufacturer_id)" (ориентир. со строки 136) в shop.browse.php с title и desc... заменил на свой
Код
	elseif( $manufacturer_id) {
$db->query( "SELECT manufacturer_id, mf_name, mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'");
$db->next_record();
$mainframe->setPageTitle( $db->f("mf_name") );
$browsepage_lbl = shopMakeHtmlSafe( $db->f("mf_name") );
$tpl->set( 'browsepage_lbl', $browsepage_lbl );
$browsepage_lbltext = $db->f("mf_desc");
$tpl->set( 'browsepage_lbltext', $browsepage_lbltext );
$mainframe->prependMetaTag( "description", substr(strip_tags($browsepage_lbl.'. '.$browsepage_lbltext), 0, 220) );
$browsepage_header = $tpl->fetch( 'browse/includes/browse_header_manufacturer.tpl.php' );
$browsepage_footer_mf = $tpl->fetch( 'browse/includes/browse_footer_manufacturer.tpl.php' );
$tpl->set( 'browsepage_footer_mf', $browsepage_footer_mf );
}
Пункт третий из предыдущих постов не делал.
Если кто знает, как вывести описание только на первой странице, напишите пожалуйста.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Описание категории опустить под товары

Автор angelo4ek-001

Ответов: 5
Просмотров: 3433
Последний ответ 12.11.2015, 01:53:39
от fsv
VirtueMart -как убрать слово "КАТЕГОРИИ" на первой странице магазина

Автор stalker828

Ответов: 12
Просмотров: 10639
Последний ответ 30.07.2014, 11:51:16
от ZAIRA
Не заполняется "Описание категории"

Автор atlantavto2011

Ответов: 0
Просмотров: 1744
Последний ответ 07.07.2014, 18:21:48
от atlantavto2011
Убрать авторизацию с сайта.

Автор Chebyrek

Ответов: 8
Просмотров: 10755
Последний ответ 31.05.2014, 11:25:44
от Andreiand
Как убрать границы у таблицы?

Автор mernata

Ответов: 2
Просмотров: 2754
Последний ответ 31.03.2014, 09:04:30
от mernata