Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "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

0 Пользователей и 1 Гость просматривают эту тему.
  • 62 Ответов
  • 9043 Просмотров
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
Добрый день.
Вопрос по стандартному компоненту com_content. Не могу найти в каком файле идет само сохранение материала, т.е. запись в бд. Буду благодарен за подсказку)
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
А там многие файлы задействованы )
но если вы хотите программно создать материал то это делают так: http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/programvnoe-sozdanie-materiala-v-joomla-2-5
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
Вроде этого мне и нужно, только я не могу найти в каком файле это все записывается.
Объясню по подробнее. Мне из админки при создании нового материала необходимо сделать записи в сторонние таблицы. Добавил доп. поле, в него будет записываться текст, ну и при сохранении надо записать эту инфу в стороннюю табличку. Вот и не могу найти в каком месте проходит запись.
ЗЫ В последующем надо будет еще вытащить эту инфу при редактировании материала.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
оу, тогда вам нужно написать контент плагин и для сохранения в стороннюю таблицу воспользоваться триггером onContentAfterSave!
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
Нда, если честно, то этот компонент слишком уж заморочан(. Другие куда было проще разбирать.
Если не сложно, то приведите пример, где в этом компоненте прописывается этот плагин. Я тяжело себе представляю как работать с плагинами, тригерами. На примере легче разобраться.
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
Я так понимаю что сохранение идет в файле administrator\components\com_content\models\article.php в функции
Цитировать
public function save($data)
и если быть точнее в строке
Цитировать
parent::save($data)
. Правильно?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Я так понимаю что сохранение идет в файле administrator\components\com_content\models\article.php в функции  и если быть точнее в строке . Правильно?
правильно, но если вы измените тут код то вам придется забыть про обновления CMS! иначе все ваши правки исчезнут...
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Нда, если честно, то этот компонент слишком уж заморочан(. Другие куда было проще разбирать.
Если не сложно, то приведите пример, где в этом компоненте прописывается этот плагин. Я тяжело себе представляю как работать с плагинами, тригерами. На примере легче разобраться.
http://ссылка вырезана, так как домен распространяет вирусы/sozdanie-plagina
создаете каркас плагина по моему сервису!
выбираете в вкладе "События", группу content и событие onContentAfterSave
устанавливаете плагин!
идете plugins/content/plugin_name/plugin_name.php
находите в нем строку
Код: php
public function onContentAfterSave($context, $article, $isNew){	}
в этом методе в $context будет что то типа 'com_content.article'
в $article -  будет вся ваша запись
в $isNew - будет true если это новая запись

можете посмотреть мой плагин http://ссылка вырезана, так как домен распространяет вирусы/plaginy/plagin-dlya-prikrepleniya-fajlov-k-materialu в нем выполняются подобные дейстивя
« Последнее редактирование: 07.09.2013, 12:16:09 от Istaan »
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
правильно, но если вы измените тут код то вам придется забыть про обновления CMS! иначе все ваши правки исчезнут...
Я особо не люблю обновляться, чревато это бывает, но все же согласен, фигова. Поэтому буду дальше искать.
В массив $data в данном файле мои доп. поля передаются, все ок. Надо найти где обрабатывается эта инфа, где можно обработать инфу (проверить на правильность введенных символов и т.п.), ну и записать в табличку.
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
to Istaan
Во, отличная инфа) буду разбираться. Спасибо.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Я особо не люблю обновляться, чревато это бывает, но все же согласен, фигова. Поэтому буду дальше искать.
В массив $data в данном файле мои доп. поля передаются, все ок. Надо найти где обрабатывается эта инфа, где можно обработать инфу (проверить на правильность введенных символов и т.п.), ну и записать в табличку.
ну я вам выше написал как сделать плагин,
вот только если вам нужно данные перед сохранением проверить то нужен не триггер onContentAfterSave, а onContentBeforeSave!
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
ну я вам выше написал как сделать плагин,
вот только если вам нужно данные перед сохранением проверить то нужен не триггер onContentAfterSave, а onContentBeforeSave!
Ок, логично, спасибо!
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Ок, логично, спасибо!
незачто, будут вопросы обращайтесь )
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
можете посмотреть мой плагин http://ссылка вырезана, так как домен распространяет вирусы/plaginy/plagin-dlya-prikrepleniya-fajlov-k-materialu в нем выполняются подобные дейстивя
Кстати, на данный момент передо мной стоит задача к стандартному материалу прикрутить сохранение минимум 2х дополнительных текстовых полей и прикрепления изображений к материалу (у вас файлов)
Цитировать
незачто, будут вопросы обращайтесь )
Обязательно)
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Кстати, на данный момент передо мной стоит задача к стандартному материалу прикрутить сохранение минимум 2х дополнительных текстовых полей и прикрепления изображений к материалу (у вас файлов)Обязательно)
2 дополнительных поля можно вставить при событии
Код: php-brief
function onContentPrepareForm($form, $data)
    {
        if (!($form instanceof JForm)) {
            $this->_subject->setError('JERROR_NOT_A_FORM');

            return false;
        }
//отсеиваем все кроме нашей формы
        if ($form->getName()!= 'com_content.article') {
            return true;
        }
//работаем добавили папку форм
$form->addFormPath(dirname(__FILE__). '/form');
//загрузили форму /form/contact.xml
$form->loadFile('contact', false);
//или добавляем динамически используя класс SimpleXMLElement и как раз для Обязательно добавив атрибут required
}
 public function onContentPrepareData($context, $data)
{
//Здесь мы должны заполнить $data для отображения значений полей, запрос из базы данных
if ($context !='com_content.article')
        {
            return true;
        }
//работаем
}
Советую глянуть плагин профиль пользователя в группе user. Там вы увидите решение подобной задачи
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
http://ссылка вырезана, так как домен распространяет вирусы/sozdanie-plagina
Отличная ссылочка. Никогда не сталкивался с созданием новых компонентов, плагинов и т.п. Только модифицировал уже готовые. Теперь попробую с нуля все сделать.

Есть опять же вопросы.
Код
public function onContentBeforeSave($context, $article, $isNew)
Я так понимаю функцию по обработке надо сюда прописывать?

Еще необходимо добавить текстовые поля при редактировании материала. Я так понимаю надо просто подредактировать шаблон в файле administrator\templates\bluestork\html\com_content\article\edit.php ? Правильно?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Еще необходимо добавить текстовые поля при редактировании материала. Я так понимаю надо просто подредактировать шаблон в файле administrator\templates\bluestork\html\com_content\article\edit.php ? Правильно?
ну зачем что то редактировать?) я например через JS создаю элементы и все нужные поля ) и выводу их например в новой вкладке )) и никакой шаблон не трогаю )
« Последнее редактирование: 09.09.2013, 14:10:59 от Istaan »
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
ну зачем что то дерактировать?) я например через JS создаю элементы и все нужные поля ) и выводу их например в новой вкладке )) и никакой шаблон не трогаю )
Не, к сожалению данный вариант у меня не прокатит. JS не знаю впринципе. Даже не знаю как к данному "зверю" подходить.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Не, к сожалению данный вариант у меня не прокатит. JS не знаю впринципе. Даже не знаю как к данному "зверю" подходить.
ну стоит начать учить, хотябы jQuery посмотрите, на нем булет в разы проще, и ничего особо сложного там нет! можно за пару дней освоить!
но если нужно срочно то делайте в шаблоне )

+ можете посмотреть видео уроки )
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
Есть вопрос по упаковке в архив плагина.
Создал папку с измененным шаблоном мне необходимым administrator\templates\bluestork\html\com_content\article\edit.php.
Как его теперь правильно добавить в архив, чтобы после установки плагина файлы скопировались по нужному мне пути?
Плагин у меня устанавливается, а файлы шаблона в нужную папку не копируются...

ЗЫ Точнее в папке administrator\templates\bluestork\html создал папки com_content\article\ и уже в конечной папке 3 файлика с шаблоном.
« Последнее редактирование: 10.09.2013, 18:43:17 от Sphinx »
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
Проблема все еще не решена.
В изначальной папке administrator\templates\bluestork\html создал папки com_content\article\. В папке article 3 моих файлика. Не могу понять, как установщику объяснить куда скопировать данные файлы при установке плагина. Сам плагин устанавливается без проблем, файлы же шаблонов не копируются и вышеописанные папки не создаются. Я так понимаю, что их надо прописать в XML файле плагина, но не могу найти какие необходимо добавить инстукции...
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
не знаю или можно так просто в XML указать каике файлы и куда пихать вне плагина,
но можете попробовать создать скрипт установки, и в нем копировать все что вам нужно в нужную папку!
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
не знаю или можно так просто в XML указать каике файлы и куда пихать вне плагина,
но можете попробовать создать скрипт установки, и в нем копировать все что вам нужно в нужную папку!
Понятно, тогда этот вопрос временно опустим.

2 дополнительных поля можно вставить при событии
Код: php-brief
public function onContentPrepareData($context, $data)
{
//Здесь мы должны заполнить $data для отображения значений полей, запрос из базы данных
if ($context !='com_content.article')
        {
            return true;
        }
//работаем
}
}
Советую глянуть плагин профиль пользователя в группе user. Там вы увидите решение подобной задачи
Я так понимаю, что onContentPrepareData как раз заполняет поля из БД. Но у меня переменные $context и $data вообще абсолютно пустые.
Больше даже, я ставлю в функции onContentPrepareData - exit; Но выполнение не останавливается, как будто данная функция вообще не вызывается. В чем может быть проблема, куда "копать"?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Копать в том направлении что onContentPrepareData срабатывает на событие при подготовке данных!
и если у вас свой компонент то вы должны вызвать это событие, в бакэнде(тобишь в админке) это событие вызывает только компонент com_users
в пользовательской части  com_users и  com_contact
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
to Istaan
Копать в том направлении что onContentPrepareData срабатывает на событие при подготовке данных!
и если у вас свой компонент то вы должны вызвать это событие, в бакэнде(тобишь в админке) это событие вызывает только компонент com_users
в пользовательской части  com_users и  com_contact
ну а каким же тогда способом инфа достается в com_content? Тобишь есть возможность в плагине (ну в моем случае) достать инфу из БД и вывести ее в формы?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
вы напишите сначала что хотите сделать ) и в админке или в пользовательской части?

p.s. попробуйте событие  onContentPrepareForm
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
вы напишите сначала что хотите сделать ) и в админке или в пользовательской части?
В админке  в редактировании материала уже сделал вывод дополнительных полей, которые можно будет заполнять, ну и соответственно в дальнейшем эта инфа будет выводиться на лицевой части сайта при просмотре статьи, к примеру. Сейчас надо сделать, чтобы инфа из БД заполняла поля, ну и при сохранении добавляла инфу в БД.
p.s. попробуйте событие  onContentPrepareForm
При данном событии у меня выводятся дополнительные поля при редактировании материала.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
При данном событии у меня выводятся дополнительные поля при редактировании материала.
так почему при этом событии не заполнять сразу поля?)

в дальнейшем эта инфа будет выводиться на лицевой части сайта при просмотре статьи
вам нужно будет для этого отдельное событие
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
так почему при этом событии не заполнять сразу поля?)
Вообще да, сходу так и не додумался)
Код
[0] => JXMLElement Object
(
  [@attributes] => Array
  (
    [name] => tmplink
    [type] => text
    [label] => PLG_TMPLINK_LABEL
    [description] => PPLG_TMPLINK_DESC
    [size] => 20
    [default] =>
    )
    [0] =>
  )
Я так понимаю в [default] и надо записать то, чего мы вытаскиваем из БД к данной статье... правильно?
вам нужно будет для этого отдельное событие
Ну это дальше посмотрим... еще будет куча вопросов. Вывод контента начну делать, буду разбираться...
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
нет ) у вас же объект формы, а там есть метод setValue($name, $group = null, $value = null)
а событие onContentPrepareForm($form, $data)  в первом параметре передает форму!
вам нужно сделать что то типа:
Код: php
$form->setValue('название поля', 'Группа в котором поле (если нет группы то просто пустоту оставить)', 'Значение поля');
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент для создания тестов Ari Quiz

Автор alex_noize

Ответов: 0
Просмотров: 1733
Последний ответ 25.02.2016, 20:31:51
от alex_noize
Переименовать com_content

Автор Sergeyy

Ответов: 3
Просмотров: 1511
Последний ответ 18.01.2016, 01:22:21
от dmitry_stas
Сортировка материала в RSS (view.feed.php) по дате создания

Автор bombapiter

Ответов: 7
Просмотров: 3224
Последний ответ 24.10.2014, 10:49:31
от bombapiter
Как проверить существует ли ID материала?

Автор sorrrrry

Ответов: 7
Просмотров: 2788
Последний ответ 15.10.2014, 16:52:58
от SmokerMan
Компонент для подмены файлов ядра jHacksPro

Автор rigin

Ответов: 0
Просмотров: 1572
Последний ответ 04.10.2014, 18:13:40
от rigin