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

gradient

  • Новичок
  • 8
  • 0 / 0
Здравствуйте!
Помогите пожалуйста переделать код шаблона версии 1.0 под 1.5


[spoiler title=index.php - 1.0]
Код
<?php defined( "_VALID_MOS" ) or die( "Direct Access to this location is not allowed." );?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php if ( $my->id ) { initEditor(); } ?>
<meta http-equiv="Content-Type" content="text/html;><?php echo _ISO; ?>" />
<?php mosShowHead(); ?>
<?php echo "<link rel=\"stylesheet\" href=\"$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/css/template_css.css\" type=\"text/css\"/>" ; ?>
<?php echo "<link rel=\"shortcut icon\" href=\"$GLOBALS[mosConfig_live_site]/images/favicon.ico\" />" ; ?>
<?php if ( mosCountModules( 'user1' ) <= 0) { ?>
<style type="text/css" media="screen">
#user1 {height:242px; width: 350px; background: url(templates/jd_sexy/images/girl1.jpg) no-repeat;}
</style>
<?php } ?>
<?php if ( mosCountModules( 'user2' ) <= 0) { ?>
<style type="text/css" media="screen">
#user2 {height:242px; width: 350px; background: url(templates/jd_sexy/images/girl2.jpg) no-repeat;}
</style>
<?php } ?>
<?php if (( mosCountModules( 'user1' ) <= 0) && ( mosCountModules( 'user2' ) <= 0)) { ?>
<style type="text/css" media="screen">
#user1 {background: none;}
#user2 {background: none;}
#user-main {height:242px; width: 747px; background: url(templates/jd_sexy/images/girl3.jpg) right no-repeat;}
</style>
<?php } ?>
<?php if ( mosCountModules( 'right' ) <= 0) { ?>
<style type="text/css" media="screen">
#content {width: 790px;}
#banner {width: 790px;}
#navright{background: none;}
</style>
<?php } ?>
</head>

<body>
<a id="support" href="http://www.joomladesign.info" title="Free Joomla Templates by Joomladesign.info" alt="Free Joomla Templates by Joomladesign.info" target="_blank"></a>
<div id="wrap">

<div id="header">
<div id="search">
<form action="index.php" method="post">
  <div align="center">
    <input class="inputbox" type="text" name="searchword" size="15" value="<?php echo _SEARCH_BOX; ?>"  onblur="if(this.value=='') this.value='<?php echo _SEARCH_BOX; ?>';" onfocus="if(this.value=='<?php echo _SEARCH_BOX; ?>') this.value='';" />
    <input type="hidden" name="option" value="search" /></form>
  </div></div>

</div>

<div id="user-main">
<div id="none"></div>
<div id="user1"><?php if (mosCountModules('user1')) { ?><?php mosLoadModules ( 'user1',-3 ); ?><?php } ?></div>
<div id="user2"><?php if (mosCountModules('user2')) { ?><?php mosLoadModules ( 'user2',-3 ); ?><?php } ?></div>
</div>

<div id="girl"><div id="date"><?php echo mosCurrentDate(); ?>
</div></div>

<div id="main-body">

<div id="left"><div id="navleft"><?php mosLoadModules ( 'left',-3 ); ?>
</div></div>

<div id="content"><?php mosMainBody(); ?>
<div id="banner"><?php mosLoadModules( "banner",-1 ); ?>
</div>
</div>

<div id="right"><div id="navright"><?php if (mosCountModules('right')) { ?><?php mosLoadModules ( 'right',-3 ); ?><?php } ?>
</div></div>

</div> <!-- main-body end -->

<div id="footer"><?php include_once('footer.php'); ?>
</div>

</div> <!-- wrap end -->
</body>
</html>
[/spoiler]


[spoiler title=переделал как понял index.php под 1.5]
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl ;?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ;?>/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ;?>/templates/<?php echo $this->template;?>/css/template_css.css" type="text/css" />
<?php if($this->direction == 'rtl') : ?>
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/css/template_rtl.css" type="text/css" />
<?php endif; ?>


<?php if($this->countModules('user1')<=0): ?>
<div>
      <style type="text/css" media="screen">
#user1 {height:242px; width: 350px; background: url(templates/jd_sexy/images/girl1.jpg) no-repeat;}
</style>
</div>
<?php endif; ?>

<?php if($this->countModules('user2')<=0): ?>
<div>
<style type="text/css" media="screen">
#user2 {height:242px; width: 350px; background: url(templates/jd_sexy/images/girl2.jpg) no-repeat;}
</style>
</div>
<?php endif; ?>

<?php if($this->countModules('user1 and user2') <=0): ?>
<div>
<style type="text/css" media="screen">
#user1 {background: none;}
#user2 {background: none;}
#user-main {height:242px; width: 747px; background: url(templates/jd_sexy/images/girl3.jpg) right no-repeat;}
</style>
</div>
<?php endif; ?>

<?php if($this->countModules( 'right' and 'user1')) : ?>
<div>

<style type="text/css" media="screen">
#content {width: 790px;}
#banner {width: 790px;}
#navright{background: none;}
</style>
</div>
<?php endif; ?>
</head>

<body>
<a id="support" href="http://www.joomladesign.info" title="Free Joomla Templates by Joomladesign.info" alt="Free Joomla Templates by Joomladesign.info" target="_blank"></a>
<div id="wrap">

<div id="header">
  <div id="search">
   <div align="center">
      <div id="user9">
       <jdoc:include type="modules" name="user9" style="table" />
       </div>
   </div>
  </div>
</div>

<div id="user-main">
<div id="none"></div>
<div id="user1"><?php if($this->countModules( 'user1' )) : ?> <jdoc:include type="modules" name="user1" style="rounded" /><?php endif; ?></div>
<div id="user2"><?php if($this->countModules( 'user2' )) : ?> <jdoc:include type="modules" name="user2" style="rounded" /><?php endif; ?></div>
</div>

<div id="girl"><div id="date"><?php echo JHTML::Date('now',  'Сегодня, %d  %m  %Y'); ?>
</div></div>

<div id="main-body">
<div align="center">
<jdoc:include type="modules" name="breadcrumb"  style="rounded" />
</div>
<div id="left"><div id="navleft"><jdoc:include type="modules" name="left" style="rounded" />
</div></div>


<div id="content">
<jdoc:include type="component" />

<div id="banner"><jdoc:include type="modules" name="banner" style="table" /></div>
</div>

<div id="right"><div id="navright">
 <jdoc:include type="modules" name="right" style="rounded" />
</div></div>

</div> <!-- main-body end -->

<div id="footer">
 
<?php include_once('footer.php'); ?>
</div>

</div> <!-- wrap end -->
</body>
</html>
[/spoiler]
Прошу сильно не ругать, т.к недавно перешел на Joomla.

Основной вопрос упирается в условия. На 1.0 условия вывод шапки сайта работают, а в 1.5 не работает.
Для наглядности картинка как должно работать при выводе.
« Последнее редактирование: 04.12.2010, 14:51:47 от gradient »
*

gradient

  • Новичок
  • 8
  • 0 / 0
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #1 : 06.12.2010, 10:33:55 »
Спасибо, всем, что не кто не помогает, хотя разместил в нужном разделе, темы размещенные в не раздела рассматриваются быстрее...
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #2 : 06.12.2010, 10:57:03 »
Цитировать
переделал как понял index.php под 1.5

Для начала, на данный момент он у вас не переделан под 1.5, надо бы вставить вот это:

Код
defined('_JEXEC') or die('Restricted access');

А там может и заработает

А где на скрине шапка?
*

gradient

  • Новичок
  • 8
  • 0 / 0
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #3 : 06.12.2010, 11:00:28 »
шапку можно глянуть http://damavdome.ru/ . спасибо, что откликнулся, сейчас попробую
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #4 : 06.12.2010, 11:09:31 »
А почему бы CSS модулей не убрать из index.php в template_css.css
« Последнее редактирование: 06.12.2010, 11:13:46 от SDKiller »
*

gradient

  • Новичок
  • 8
  • 0 / 0
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #5 : 06.12.2010, 11:13:45 »
Цитировать
А там может и заработает
к сожалению, но нет

Цитировать
А почему бы CSS модулей не убрать их index.php в template_css.css
сейчас уберем, но думаю проблему не поменяет
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #6 : 06.12.2010, 11:14:16 »
Да это не к тому
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #7 : 06.12.2010, 11:19:50 »
В чём условие заключается?
Если нет модулей в позициях user1 и user2, втыкаем туда пустые div-ы с фоновыми картинками?

Попробуй div-ам id явно прописать
*

gradient

  • Новичок
  • 8
  • 0 / 0
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #8 : 06.12.2010, 11:31:03 »
Цитировать
Да это не к тому
Да я как раз таки понял о чем речь, выразился видимо неправильно.

Вот первую часть исправил
Спойлер
[свернуть]
Вторую часть не знаю как правильно преобразовать.
Спойлер
[свернуть]


Да условия примерно такое(даже нет, все идеально такое!), если не выводится не первое не второе то картинка на всю ширину
если выводится 1блок то на месте второго картинка
ну и наооброт для второго блока
« Последнее редактирование: 06.12.2010, 11:39:51 от gradient »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #9 : 06.12.2010, 11:50:15 »
Глючим потихоньку )))

У тебя в <head> в зависимости от наличия/отсутствия модулей им стиль назначается.
А я тебя на что сейчас подбил? )))

Я бы вообще убрал бы все проверки из head в body и в зависимости от ситуации назначал бы div-ам разные id и соответственно стили в template.css

P.S. Ты в templateDetails прописал все позиции модулей?
*

gradient

  • Новичок
  • 8
  • 0 / 0
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #10 : 08.12.2010, 02:00:38 »
Вообщем я снова тут.
Видимо глючим! Решил на свежую голову  после отдыха сесть и подумать.

[spoiler title=Вообщем у меня получилось  часть условий реализовать.]
Код
<div id="user-main">
<div id="none"></div>

<?php if(($this->countModules('user1'))  && ($this->countModules('user2'))) : ?>
<div id="user1"><jdoc:include type="modules" name="user1" style="rounded" /></div>
<div id="user2"><jdoc:include type="modules" name="user2" style="rounded" /></div>
<?php else: ?>
<div id="uzer-main"><div id="uzer-topmain"><jdoc:include type="modules" name="user3" style="xhtml" /></div></div>
<?php endif; ?>

</div>
[/spoiler]

С таким кодом вроде и норм одновременно, и нет. Прогнал через валидатор и исправил все ошибки.
Иначе не работало в опере.
Кстати т.к в версии 1.0 не было position я и не подумал, что в 1.5 оно необходимо // Спасибо за намек, сам бы врятли увидел.

Теперь возник вопрос:
1) Возник при валидации кода:
[spoiler title=Вырезка №1]
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru">
[/spoiler] - // прописал сам вручную ru-ru
а должно быть так, исходя из стандартных дефолтовых шаблонов
[spoiler title=Вырезка №2]
Код
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>">
[/spoiler]
Вопрос пока отпал, вставил обратно это и все нормализовалось без претензий, странно однако.

2)По поводу условий:
У меня вышло одно, осталось только 2, на словах вроде все просто.
Но я не понимаю, как сравнить теперь чтобы если активен первый блок на месте второго выводилась картинка, ну и наоборот.
Буду очень признателен если подскажете, как переписать условие выше.
Для первой картинки используется класс uzer1 , для второй uzer2 (ранее выводились просто стилем, запихнул в CSS и присвоил класс)
Стандартные классы без  фоновых картинок: user1 и user2.
p./s.  Если мое предположение верно, то здесь через или надо, но когда прописываю с или идет наложение кода уже рабочего.

3)Решил так же сделать по стандарту css
Всего осталось 6 аналогичных ошибок
[spoiler title=Вырезка из css]
Код
#user1 h3 {
padding-top: 10px;
font-size:18px;
filter:Shadow(color=#a3726b,strength=4,Direction=135);
height:22px;
text-align: center;
padding-right: 20px;
padding-bottom: 10px;
}
[/spoiler]
Ругается на filter:Shadow Ошибка разбора. Почитал в интернете это тень при наведении.

Сайт, тот же поэтому можете смотреть. http://damavdome.ru/

Помогите довести все до ума. Заранее спасибо!
« Последнее редактирование: 08.12.2010, 02:24:16 от gradient »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #11 : 08.12.2010, 08:16:02 »
filter:Shadow - для IE, т.к. он не понимает text-shadow
http://htmlbook.ru/css/text-shadow

Надо создать условие вида
Код
	<!--[if IE ]>

и назначить ему дополнительный файл css

Цитировать
как сравнить теперь чтобы если активен первый блок на месте второго выводилась картинка, ну и наоборот

Нормально через if($this->countModules) всё можно реализовать.
Надо просто чётко проверку условий выстроить - проверяем первый, если да -> то куда и т.д. (здесь допустимы вложенные конструкции).
*

gradient

  • Новичок
  • 8
  • 0 / 0
Re: Перевод шаблона jd_sexy с 1.0 под 1.5.
« Ответ #12 : 08.12.2010, 11:10:22 »
Код
Нормально через if($this->countModules) всё можно реализовать. 
Вот в том то и дело я понимаю, что через это, а как провести это сравнение все такие не очень понимаю.
Мог бы сделал.

Про CSS я понял спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JA T3 Framework - руководство по несложной кастомизации шаблона.

Автор MaxFarSeer

Ответов: 278
Просмотров: 132410
Последний ответ 28.07.2019, 15:24:55
от Dr.Life
Два шаблона на одной странице сайта

Автор bagz

Ответов: 1
Просмотров: 8188
Последний ответ 03.03.2018, 07:33:19
от Театрал
мобильная версия шаблона для Joomla

Автор voron121

Ответов: 8
Просмотров: 17232
Последний ответ 24.12.2016, 14:59:57
от effrit
Как к категории или разделу привязать разные стили(цвета) шаблона

Автор ilyans

Ответов: 14
Просмотров: 15816
Последний ответ 19.02.2015, 09:17:20
от ustmm
Помощь по index.php шаблона

Автор Ключ

Ответов: 4
Просмотров: 6748
Последний ответ 30.07.2013, 09:37:46
от Lentochka