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

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Вобщем вопрос: можно ли и как?  ::)
Создаю материал, и в папке  images автоматически создаётся папка, именем которой является alias материала.
И когда добавляешь изображения для статьи, то уже не нужно придумывать имя папки и создавать её, плюс гораздо удобнее вставлять код для вывода Simple Image Gallery.
« Последнее редактирование: 22.03.2016, 00:56:28 от goga_pgasovav »
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
В РНР я, к сожалению, не силён. Кроме 'echo'  едва ли самостоятельно что-то напишу (частично шутка).
Нашёл такую вот функцию: 'mkdir'. Зная алиас материала (а он полюбому задаётся либо пользователем, либо самой Joomla, при создании материала), можно подставить это значение в параметр pathname.
Но вот где происходит сохранение материала не могу разобраться. В файле edit.php админского шаблона не нахожу подобного.
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Вобщем сделал частично, но пока, что называется, "через задницу".

Сначала добавил дополнительное поле — checkbox при создании/редактировании материала:

Код: xml
<fieldset name="image_folder" label="Image folder">
    <field name="create_folder"
        type="checkbox"
        label="Create automatically"
        value="1"
        default="0"
        filter="intval"
    />
</fieldset>

Дальше не придумал ничего умнее, чем написать в шаблоне материала следующее:

Код: php
//create folder for images
if ($params->get('create_folder') == 1) {
    $folder_name = $this->item->alias;
    $folder_name = substr($folder_name,0,30); //trim folder name to 30 characters
    
    $destination = JPATH_SITE.'/'."images/news";
    if (!file_exists($destination.$folder_name)) {      
        JFolder::create($destination .'/'. $folder_name, 0755);
    }
}

Собственно сам алгоритм и код работают. Папка создаётся, при условии, что чекбокс отмечен галочкой, обрезается название до нужной мне длины.
НО! Я думаю и ежу понятно, что:
1. Эта хрень выполняется каждый раз, когда загружается страница со статьёй  :o
2. Срабатывает только после того, как страницу хотя бы один раз загрузили, т.е. выполнился РНР-код.

Понимаю, что нечто похожее на мой код выше, надо добавить в какой-то из файлов administrator/com_content/ но не понимаю куда именно
Очень прошу помочь тех, у кого понимание механизмов Joomla куда глубже, чем моё  ::)
« Последнее редактирование: 22.03.2016, 00:59:29 от goga_pgasovav »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Здесь нужно использовать плагины. И смотреть какие события удобнее использовать
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
voland, спасибо. А есть ли соображения, как сделать это без плагинов? Зачастую это громоздкие штуковины, и ради одной галочки в настройках материала крайне не хотелось бы их использовать. Кроме того, я искал плагины, позволяющие сделать это, но так и не нашёл.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Зачем ***кодить?
Проще написать плагинчик и спокойно забыть о проблеме.
А то как обновляться то будете?
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
voland сайт, для которого пытаюсь реализовать эту задумку, работает на 2.5, которая уже не поддерживается. Перейти на 3.0 нет возможности. Так что обновление, в моей ситуации, роли не играет. К тому же я сам написание плагина не осилю.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Там все просто.
Тут поискать - была пара сервисов генерации плагинов - дальше обычный PHP
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Плагин - это врезка кода в том месте, где срабатывается событие. Этот механизм придуман, чтобы можно было добавить свой код, но не терять его при обновлении расширения, а также для удобства его дальнейшего изменения. Он будет стоько громоздким, сколько ваш код. Писать плагин несложно, нужно только соблюдение некоторых правил.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Друзья, мы же не в идеальном мире живём. Когда клиент платит, я ищу фрилансера, который пишет всё, что необходимо, и получаю нормально обновляемую систему. В данном случае иемеем сайт с уже хакнутым ядром на устаревшей системе, которую никто не станет обновлять. Ресурсов для написания плагинов нет. Сам плагин написать я не в состоянии, если есть примеры, то дайте ссылку, но я не вижу смысла разводить здесь оффтоп, который совершенно не касается вопроса.

P.S.: Если вы рассматриваете вариант помощи за плату, то напишите пожалуйста в личку. Возможно мне хватит средств из собственного кармана для создания такого плагина, а разработка пригодится и на будущее. Я совершенно не против. Просто исходя из ситуации, я не рассматривал такой вариант изначально.
« Последнее редактирование: 22.03.2016, 14:35:59 от goga_pgasovav »
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Когда клиент платит, я ищу фрилансера, который пишет всё, что необходимо, и получаю нормально обновляемую систему.

Так в чем проблема? Идите в коммерческий раздел
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
KKAAZZOO, Вы, видимо, читаете обрывками
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Прочитал всю тему, вплоть до вашего последнего поста, где вы сами сказали как решаете проблемы. Более того вы сказали что готовы заплатить из собственного кармана. Коммерческий раздел для этого и предназначен.
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Вообщем послушал я вас, ребята, и решил попробовать самостоятельно полноценный плагин написать.
Практически всё получилось, лишь одно препятствие встало на пути! Но обо всём по порядку:

Значит имеется дополнительное поле в материале:
(о нём уже писал, ничего не изменилось тут)

Код: xml
<fieldset name="image_folder" label="Image folder">
    <field name="create_folder"
        type="checkbox"
        label="Create automatically"
        value="1"
        default="0"
        filter="intval"
    />
</fieldset>

Далее код плагина:

imgdir.php
Код: php
<?php
defined('_JEXEC') or die;
class plgContentImgDir extends JPlugin
{
    public function onContentAfterSave($context, &$article)
    {
        $articleId = (JRequest::getVar('option')==='com_content' && JRequest::getVar('view')==='article')? JRequest::getInt('id') : 0;
        $article =& JTable::getInstance('content');
        $article->load($articleId);
        $folder_name = $article->alias;
        $folder_name = substr($folder_name,0,30);
        
        $art_attribs = new JParameter($article->attribs);
        
        if ($art_attribs->get('create_folder') == 1) {
            $destination = JPATH_SITE.'/'."images/news";
            if (!file_exists($destination.$folder_name)) {      
                JFolder::create($destination .'/'. $folder_name, 0755);
            }
        }
    }
}

?>

Вобщем при сохранении материала выдаёт ошибку: Save failed with the following error: Another article from this category has the same alias
Я пробовал менять onContentAfterSave($context, &$article) на onContentPrepare($context, &$row, &$params, $page = 0) и тогда всё работает прекрасно!
Но в этом случае я получаю решение, аналогичное тому, что было в самом начале: т.е. пока страничку один раз не загрузят директория создана не будет.
Вот такая печаль... Google ничем не помог, так что прошу помощи знатоков!  !
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
KKAAZZOO, не увидел сразу Ваше сообщение. Я говорил, что рассмотрю предложения, и тогда видно будет, смогу ли я за это заплатить. Так или иначе сам пробовать начал  :dry:
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Зачем еще раз загрузить JTableContent? Он и так уже передан. Попробуйте так
Спойлер
[свернуть]
На счет свойства $article->create_folder не уверен, если он не передан, то получите по-вашему.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
robert, это потрясающе! Спасибо огромное!
Действительно, заработало только когда убрал проверку параметра if ($article->create_folder==1) {}
Да ещё и так невероятно мой код сократили... Вобщем низкий поклон!

Да и вообще, всем кто писал спасибо! Если бы не вы, я бы не решился плагин писать, и топтался бы на месте, время от времени обходясь хаками ядра... Вобщем вопрос считаю закрытым.
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Не спится мне спокойно. Решил усложнить задачу, и создавать папки в разных каталогах, в зависимости от категории.
У меня две основных категории: "news" и "catalog".
Я тут уже задавался вопросом, как узнать ID или alias самого верхнего уровня, и на фронтэнде это срабатывает безотказно, а вот в плагине моём работать отказывается..
Делал так:

Спойлер
[свернуть]

После сохранения материала вылетает просто белая страница и ничего не происходит :/ Папка не создаётся.
Хотя после обновления списка материалов вижу, что материал создался успешно.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не хватало "/":
Спойлер
[свернуть]
Не будь паразитом, сделай что-нибудь самостоятельно!
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
robert, вы знаете, что-то не срабатывает. Пытаюсь сохранить и выбрасывает на белую страницу  :(
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Спойлер
[свернуть]
Исправлен по замечанию dmitry_stas.
« Последнее редактирование: 27.03.2016, 12:44:52 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
я так на всякий случай уточню, JFolder же подключен? а то не видно по этому коду.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
я так на всякий случай уточню, JFolder же подключен? а то не видно по этому коду.
+dmitry_stas :), сам не заметил.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Во-первых, спасибо всем за помощь!
Во-вторых, надеюсь я ещё не надоел вам окончательно...
Но, к сожалению, пока что плагин не работает должным образом :/
Я попытался как можно глубже разобраться в причинах, и хотя бы найти проблемный участок кода. И таки нашёл!

Значит, для начала надо вообще удалить проверку if(!$isNew).
Объясняю почему: иногда нужно создать папку для уже существующего материала. А эта проверка не даёт это сделать (проверено!).
Кроме того, хотелось бы, чтобы плагин всё-таки работал в зависимости от опции "создавать/не создавать папку". Пока что обработку этого параметра из кода убрал, т.к. не срабатывало.

Ну и самое главное: пустая белая страница вылетает из-за этих строк:

Код: php
$categoriesModel=JCategories::getInstance('content');
$category=$categoriesModel->get($article->catid);
$parent=$category->getParent();

Когда я их удаляю, а вместо $parent->alias прописываю старое доброе 'news', всё сразу же начинает работать.
Вобщем что-то не так с проверкой главной категории...
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Да. Вот ещё что добавить хотел.
В каталоге у меня вложенность типа "Основная категория" > "Подкатегория" > Материал – тут получается определить основную категорию как "catalog"
Но у новостей структура проще: "Новости" > Материал – тут основная категория определяется уже как root.
Я понимал, что это усложнит проверку и может повлиять на работоспособность плагина, потому временно убрал 'news' из параметров в плагине.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Вобщем что-то не так с проверкой главной категории...
Стоит попробовать подключить JСategories: может быть, он тоже не загружен?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Стоит попробовать подключить JСategories: может быть, он тоже не загружен?
Спасибо! Попробую. Но дело в том, что когда я ставил событие onContentPrepare, то всё работало и без JFolder и без JСategories  :dry:
Всмысле проверял вывод параметров с помощью echo
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Добавил

Код: php
jimport('joomla.application.categories');

Перестало выбрасывать на пустую страницу, но папки не создаются...
Несколько раз внимательно изучил весь код плагина, особенно ту часть, где проверяются названия категорий и подставляются для создания папок. Всё вроде правильно. Не вижу почему оно не должно работать  :(
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Аааааа! Урааа! Победа! Заработало! :)
Я просто в последней модификации кода забыл название папок в массиве поменять)
Я приводил "catalog" для примера, а на самом деле папка "collection" называется теперь (раньше я сразу поправлял, а в этот раз забыл!)
Вобщем подключение JСategories помогло!
Ещё раз благодарю robert за поддержку и помощь!

P.S.: Пока что этого вполне достаточно. В будущем было бы прекрасно расширить плагин настройками: например поле для воода ID (или alias) категорий, которые необходимо включать в обработку плагином. Ну чтоб каждый раз не поправлять этот вот массив категорий. И будет полноценное решение для всех желающих.

P.S.2: Ну и печально, что опция "создавать/не создавать" не срабатывает... Папки создаются каждый раз для любого материала из перечисленных категорий. А если, к примеру, новость без изображения, и папку создавать не нужно, то она всё равно будет создана.
« Последнее редактирование: 28.03.2016, 00:26:33 от goga_pgasovav »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Удалила папку Template

Автор Татьянаttt

Ответов: 2
Просмотров: 2233
Последний ответ 08.08.2024, 20:16:40
от Татьянаttt
Как добавить свое изображение в папку images/banner?

Автор RaIsaA

Ответов: 2
Просмотров: 1732
Последний ответ 28.11.2021, 15:54:20
от SeBun
Алиас пункта меню совпадает с именем подкаталога в каталоге с сист.файлами

Автор Andrey N.

Ответов: 14
Просмотров: 5718
Последний ответ 07.10.2021, 23:57:15
от Garrr
Блокировка материала! Что оно такое?

Автор Chebyrek

Ответов: 17
Просмотров: 17785
Последний ответ 30.06.2020, 16:33:09
от 1AZ1
Как вывести путь материала на страницу?

Автор Gromz

Ответов: 6
Просмотров: 2903
Последний ответ 14.12.2019, 20:19:21
от Gromz