Новости 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 Ответов
  • 3596 Просмотров
*

tramb

  • Новичок
  • 7
  • 0 / 0
Народ, прошу помощи.
Есть шаблон http://demo.icetheme.com/it_corporate2/index.php

Как сделать чтобы сепараторы выглядели постоянно следующим образом, т.е в пассивном состоянии. Но активные меню продолжали бы выглядеть как и прежде со стрелочкой.

На первой картинке так выглядит активное меню сейчас:


Вот так необходимо чтобы выглядел сепаратор:


выделили куски в CSS которые нужно удалить, а вот как собрать воедино для сепаратора понятия не имею(

Может быть полезен кусок из menucore:
Код
case 'separator' :
//return '<span class="separator">'.$image.$tmp->name.'</span>';

if($iParams->get("icemega_subtype") == 'mod' || $iParams->get("icemega_subtype") == 'pos') {
//$text  = 'window.addEvent("load", function(){if($(\'item-'.$tmp->id.'\')!= null)$(\'item-'.$tmp->id.'\').setStyle(\'display\', \'none\')});';
//$document = &JFactory::getDocument();
//$document->addScriptDeclaration($text);
}

CSS меню:
Код
/**
 * IceMegaMenu Extension for Joomla 3.0 By IceTheme
 *
 *
 * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved.
 * @license GNU General Public License version 2
 *
 * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html
 *
 */
.collapse {
  overflow: visible;}
 
/* clear some styles */
.icemegamenu ul,
.icemegamenu li {
list-style-type:none;
padding:0;
margin:0}
 
 
/* begin mainmenu */
.icemegamenu > ul {
position: relative;
margin:0 0 45px;
padding:0;
z-index: 999;
clear: both;
width: 280px;
height:auto;}

.icemegamenu > ul > li {
position: relative;
display: block;
margin:5px 0;
padding:0;
-webkit-transition: all .25s ease-out;
-moz-transition: all .25s ease-out;
-ms-transition: all .25s ease-out;
-o-transition: all .25s ease-out;
transition: all .25s ease-out;}

.icemegamenu > ul > li  a.iceMenuTitle {
position: relative;
z-index: 9999;
display: block;
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
padding: 0 20px;
height:40px;
line-height: 41px;
font-size: 16px;
color: #fff;
text-decoration:none;
text-shadow: 1px 1px 1px rgba(0,0,0,.3);}

ul.icesubMenu  ul > li:hover > a.iceMenuTitle,
ul.icesubMenu li.active a.iceMenuTitle  {
color: #ffff00 }

div.icemegamenu ul#icemegamenu  li.active a.icemega_active > span.icemega_title{
color: #ffff00 }


/* subtitles */
.icemegamenu > ul > li span.icemega_desc {
display:block;
font-size:12px;
font-family:Verdana, Geneva, sans-serif;
padding:0;
line-height:1.25em;
color:rgba(255,255,255,.6)!important;
margin-bottom: 7px;
margin-top:-6px;
text-shadow:none!important}

  /* when dont have subtitle */
.icemegamenu > ul > li >  a.iceMenuTitle > span.icemega_nosubtitle {
padding-top:0;
display:block}


/* when is current */
.icemegamenu > ul > li:hover,
.icemegamenu > ul > li.active {
background:#71686b}


.icemegamenu > ul > li.active {
margin-left:-15px;
padding-left:15px;}

.icemegamenu > ul > li.active:before {
background:url(../images/current_l.png) no-repeat;
width:15px;
height:15px;
position:absolute;
bottom:-15px;
left:0;
content:"";}


.icemegamenu > ul > li.active:after {
background:url(../images/current.png) no-repeat;
width:15px;
height:40px;
position:absolute;
top:0;
right:-15px;
content:"";}




 /* Submenu */
ul.icesubMenu {
    position: absolute;
    z-index: 600;
    padding: 5px 0 10px;
margin:0;
    top: 0;
    left: 340px;
    opacity: 0;
    visibility: hidden;
    background: #71686b;
    border:none;
border-top:none;
-webkit-transition: all .25s ease-out;
-moz-transition: all .25s ease-out;
-ms-transition: all .25s ease-out;
-o-transition: all .25s ease-out;
transition: all .25s ease-out;}


#icemegamenu > li:hover > ul.icesubMenu {
opacity: 1;
visibility: visible;
left: 280px;}

ul.icesubMenu ul > li {
position:relative;}

ul.icesubMenu > li a.iceMenuTitle {
height: auto;
display: block;
font-size: 14px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
padding: 0 0 0 15px;
line-height: 30px;
margin: 0 14px;
border-radius: 0;
background: url(../images/point.png) no-repeat 0 7px;
border-bottom: 1px dotted rgba(255, 255, 255, .2)!important;}


/* when is parent */
ul.icesubMenu li.parent {
background: url(../images/arrow.png) no-repeat 93% 45%;}






 
/* Second Level Dropdown */
ul.sub_level_2,
ul.sub_level_3,
ul.sub_level_4,
ul.sub_level_5 {
top: -1px;
left: 250px;
z-index:99999;
box-shadow:none;
border: 1px solid rgba(255,255,255,.3);
margin: 0 0 0 20px;}


ul.icesubMenu ul > li:hover > ul {
opacity: 1;
visibility: visible;
left: 230px;}

 
 
 
 
 /* Toggle for responsive */
.ice-megamenu-toggle {
display: none;
margin: 0 0 15px;
}

.ice-megamenu-toggle a {
    background:#E6E6E1;
color:#777;
    display: block;
    height: 45px;
width: 100%;
display:block;
position:relative;
text-align: center;
font-size:18px;
line-height: 45px;
-webkit-transition:all .2s ease-out;
-moz-transition:all .2s ease-out;
-o-transition:all .2s ease-out;
transition:all .2s ease-out;}

.ice-megamenu-toggle a:hover {
text-decoration:none;
background:#fff!important;
color:#111}



 
/* Modules inside dropdown */
.icesubMenu .icemega_cover_module {
    padding: 10px 15px;
width:auto!important;
color:#fff;
color:rgba(255,255,255,.6);
margin: 10px 10px 0px;}

.icesubMenu .icemega_cover_module span.iceModuleTile {
color:#fff;
font-family:Georgia, "Times New Roman", Times, serif;
font-size:20px;
text-shadow: 1px 1px 1px rgba(0,0,0,.3);
margin-bottom:12px;
display:block;}

.icesubMenu .icemega_cover_module a {
color:#F0C237}

и CSS одного из файлов стилей:
Код
* 
DO NOT DELETE THIS LINE
Necessary to check if StyleSheet has loaded  */
#dummy-element{width:2px;}


/* general.css */
body {
background-color:#DBDBD5;}

#sidebar {
background-color:#584F52;}

#tagline {
background-color:#E6E6E1;}
#tagline:before {
background:url(../../images/styles/style1/tagline_l.png);}
#tagline:after {
background:url(../../images/styles/style1/tagline_r.png);}

#bottom {
background-color:#C3C3B9;
background-image:url(../../images/styles/style1/bottom_arrow_t.png), url(../../images/styles/style1/bottom_arrow_b.png);}

.button  {
background-color:#584F52;
border-left-color:#72676C;}

.button:hover {
background-color:#72676C}

#copyright_area {
box-shadow: 0 -1px 0  #C3C3B9;}

body.offline_page #logo,
body.error_page #logo {
background-color:#584F52;}

blockquote {
  background-color:#E6E6E1;
  border-left:#C3C3B9;}

/* modules.css */
#sidebar .sidebar_module {
background-color:#6A6770;}

#sidebar .sidebar_module h3.sidebar_module_heading {
border-bottom-color:#98969e;}

#sidebar .sidebar_module_style1 {
background-color:#70676c;}
#sidebar .sidebar_module_style1 h3.sidebar_module_heading {
border-color:#9e969a}

#sidebar .sidebar_module_style2 {
background-color:#717168;}
#sidebar .sidebar_module_style2 h3.sidebar_module_heading {
border-color:#9f9f97}

#footer .moduletable h3 {
border-bottom-color:#B7B7AB;}

.img1 {
background-image:url(../../images/styles/style1/one.jpg)}

.img2 {
background-image:url(../../images/styles/style1/two.jpg)}

.img3 {
background-image:url(../../images/styles/style1/three.jpg)}

.service1 {
background-image:url(../../images/styles/style1/service1.png)}

.service2 {
background-image:url(../../images/styles/style1/service2.png)}

.service3 {
background-image:url(../../images/styles/style1/service3.png)}

.service4 {
background-image:url(../../images/styles/style1/service4.png)}

.service5 {
background-image:url(../../images/styles/style1/service5.png)}

.service6 {
background-image:url(../../images/styles/style1/service6.png)}

/* default_icemegamenu.css */
.icemegamenu > ul > li:hover,
.icemegamenu > ul > li.active {
background-color:#71686b}

.ice-megamenu-toggle a {
    background-color:#DBDBD5;}

.ice-megamenu-toggle a:hover {
background-color:#DBDBD5;}

ul.icesubMenu {
    background-color: #71686b;}

.icemegamenu > ul > li.active:before {
background-image:url(../../images/styles/style1/current_l.png);}

.icemegamenu > ul > li.active:after {
background-image:url(../../images/styles/style1/current.png);}
*

tramb

  • Новичок
  • 7
  • 0 / 0
Ну же хелп ми(((
*

tramb

  • Новичок
  • 7
  • 0 / 0
ри создании меню - можно выбрать тип раздела - материал, блог, список материалов и так далее.
И есть такой тип - Text Separator.
Так вот, я хочу, чтобы этот текст сепаратор (если он есть в меню) показывался как активное меню, но без стрелочки справа.
Как убрать стрелочку я нашел, а вот как прикрутить стиль выделения (как активного меню) к сепаратору (когда он просто есть в меню) я не знаю.

Если писать:
.separator {}
то надо разкоментить //return '<span class="separator">'.$image.$tmp->name.'</span>';

но все равно не могу понять, что туда написать для корректного отображения(((
*

Cheren

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
сепаратору прописываем
Цитировать
сепаратор{
background-color: #71686b;
margin-left: -15px;
padding-left: 15px;
}
супаратор:before{
background: url(../images/current_l.png) no-repeat;
width: 15px;
height: 15px;
position: absolute;
bottom: -15px;
left: 0;
content: "";
}
*

tramb

  • Новичок
  • 7
  • 0 / 0
Спасибо за ответ, но немного не то получилось
« Последнее редактирование: 05.08.2013, 14:58:37 от tramb »
*

Cheren

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
какой адрес сайта?
*

Cheren

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
ща сделаем!
*

tramb

  • Новичок
  • 7
  • 0 / 0
сайт на денвере, но он полностью соответствует шаблону http://demo.icetheme.com/it_corporate2/index.php
За одним исключением - когда снимаю комментарии со строки (из файла menucore модуля icemegamenu - он отвечает за меню)

case 'separator' :
            //return '<span class="separator">'.$image.$tmp->name.'</span>';
            
            if($iParams->get("icemega_subtype") == 'mod' || $iParams->get("icemega_subtype") == 'pos') {

убираются стили с сеператоров и добавляется span с классом separator


если нужны какие нить файлы или шаблон в архиве, говорите - скину.
на крайний случай залью шаблон на хостинг с демо данными.
*

Cheren

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
Цитировать
span.separator{
      background-color: #71686b;
      display: block;
      margin-left: -15px;
      padding-left: 15px;
      color: #FFF;
      position: relative;
   }
   span.separator > span {
      height: 40px;
      line-height: 41px;
      font-size: 16px;
      padding-left: 17px;
      color: #fff;
      text-shadow: 1px 1px 1px rgba(0,0,0,.3);
      font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
   }
   span.separator:before{
      background: url(../../images/styles/style1/current_l.png)  no-repeat;
      width: 15px;
      height: 15px;
      position: absolute;
      bottom: -15px;
      left: 0;
      content: "";
   }

ВОТ

с раскоментированной строкой

Цитировать
return '<span class="separator">'.$image.$tmp->name.'</span>';
*

Cheren

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
Я к первому стилю делал

Цитировать
.....\templates\itcorporate2\css\styles\style1.css
*

tramb

  • Новичок
  • 7
  • 0 / 0
Спасибо большое) Ты мой герой)
А чтобы под стили подстраивался - долго мучиться?
*

Cheren

  • Осваиваюсь на форуме
  • 36
  • 3 / 0
2 мин искал стиль и делал. Шаблон только 10 мин с депозита качался!)) *DRINK*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Устранение ошибки в шаблоне smartaddons

Автор YOzhik

Ответов: 4
Просмотров: 317
Последний ответ 07.04.2026, 21:31:43
от YOzhik
Как получить параметры стиля шаблона?

Автор Spam

Ответов: 16
Просмотров: 7615
Последний ответ 20.07.2025, 20:25:55
от fbr
Разобраться с областью компонента в шаблоне

Автор gorbi_U

Ответов: 7
Просмотров: 2814
Последний ответ 04.02.2023, 10:45:14
от sivers
При обновлении плагина helix3 слетает сендвич в мобильном шаблоне

Автор gorbi_U

Ответов: 0
Просмотров: 2393
Последний ответ 25.01.2023, 10:55:44
от gorbi_U
Криво выводятся `title` & `data-original-title` в шаблоне

Автор Аня

Ответов: 2
Просмотров: 2805
Последний ответ 16.04.2022, 23:44:10
от onniby