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

Sphinx

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

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
вам нужно сделать что то типа:
или
Код: php-brief
$data->pole ='значение';
$form->bind($data);
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
или
Код: php-brief
$data->pole ='значение';
$form->bind($data);
Ок, спасибо! Попробуем)

ЗЫ Нашел отличную статью по теме http://slyweb.ru/joomla/joomla-create-custom-form-field/ ;)
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
в той статье как и в плагине по которому она писалась (user profile) есть логические ошибки
Код: php-brief
foreach ($article->rating as $k => $v)
           {
            $query->values($articleId.', '.$db->quote('rating.'.$k).', '.$db->quote(json_encode($v)).', '.$order++);
           }
нет здесь смысла писать пустое значение, тем самым вставляя ненужную строку при пустом значении
логичнее было
Код: php-brief
foreach ($article->rating as $k => $v)
           {
            if ($v) $query->values($articleId.', '.$db->quote('rating.'.$k).', '.$db->quote(json_encode($v)).', '.$order++);
           }
так же поле order, в таблице необходимость его под сомнением и упаковка json полей и приставка rating, profile
Честно не отточено
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
в той статье как и в плагине по которому она писалась (user profile) есть логические ошибки
Код: php-brief
foreach ($article->rating as $k => $v)
            {
             $query->values($articleId.', '.$db->quote('rating.'.$k).', '.$db->quote(json_encode($v)).', '.$order++);
            }
нет здесь смысла писать пустое значение, тем самым вставляя ненужную строку при пустом значении
логичнее было
Код: php-brief
foreach ($article->rating as $k => $v)
            {
             if ($v) $query->values($articleId.', '.$db->quote('rating.'.$k).', '.$db->quote(json_encode($v)).', '.$order++);
            }
так же поле order, в таблице необходимость его под сомнением и упаковка json полей и приставка rating, profile
Честно не отточено
Да я и не говорю, что в статье идеально описан метод добавления доп. строк к стандартному материалу. Каждый выполняющий эту задачу должен ее заточить под себя. Это просто как наглядный пример по созданию плагина. А дорабатывает его каждый сам под себя.
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
А из файла плагина есть возможность добавлять строки в переменную $this->item ?
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
to Istaan
Код: php
public function onContentAfterSave($context, $article, $isNew){	}
в этом методе в $context будет что то типа 'com_content.article'
в $article -  будет вся ваша запись
в $isNew - будет true если это новая запись
Проблема, ни в одной из этих переменных нет данных введенных в формах
Код
public function onContentBeforeSave($context, $article, $isNew) {
    echo '<pre style="font-size: 12pt;">'; print_r($article); echo '</pre>';
    exit;
  }
В переменной $article только стандартные поля. Ни одного из добавленных мною полей нет.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
А как вы поля в форму вставляете?
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
А как вы поля в форму вставляете?
А какой именно момент нужен?
Вообще через
Код
public function onContentPrepareForm($form, $data)
*

Sphinx

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

Aleks.Denezh

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

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
ну изображение нужно отправить через форму минимум! если файл у вас на компе, а сайт на сервере то он никак не сможет получить доступ к этому файлу, только если вы не впихнете его в <input type="file" /> вручную!
Ну форма то то есть:
Код
<input type="file" name="jform[temp][upload_photo_1]" id="jform_temp_upload_photo_1" value="" />
Вроде нашел как загружать файлы - http://joomlaforum.ru/index.php/topic,263530.msg1331151.html#msg1331151. Но чет у меня не выходит добавить файл. Вообще в onContentAfterSave можно добавить загрузку файлов?

Код
        $app = JFactory::getApplication();
        $jinput = $app->input;
 
        // получаем параметры формы
        $file = $jinput->files->get('jform[temp][upload_photo_1]', null, 'files', 'array');
        $filename = JFile::makeSafe($file['name']);
Делал так и получилось что переменные $file и $filename вообще пустые...
« Последнее редактирование: 05.11.2013, 16:15:48 от Sphinx »
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
$file = $jinput->files->get('jform', null, 'files', 'array');
print_r($file);
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
$file = $jinput->files->get('jform', null, 'files', 'array');
print_r($file);
В функцию public function onContentAfterSave($context, $article, $isNew) добавил строки:
Код
    $app = JFactory::getApplication();
    $jinput = $app->input;

    $file = $jinput->files->get('jform', null, 'files', 'array');
К сожалению переменная $file пуста(((

ЗЫ если сделать вывод на экран:
Код
echo '<pre style="font-size: 12pt;">'; print_r($_POST[jform][temp]['upload_photo_1']); echo '</pre>';
то имя файла выводится без проблем...
« Последнее редактирование: 05.11.2013, 16:57:45 от Sphinx »
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
форма материала стандартного?
*

Sphinx

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

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Материал стандартный, я к нему прикручиваю свои доп. поля.
ну естественно ничего не будет работать! ибо в стандартной форме материала нет enctype="multipart/form-data" без которого файлы слаться не будут!
вам нужно с помощью JS добавить такой аттрибут в форму!
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
ну естественно ничего не будет работать! ибо в стандартной форме материала нет enctype="multipart/form-data" без которого файлы слаться не будут!
вам нужно с помощью JS добавить такой аттрибут в форму!
Блин, вообще JS  не знаю, даже с какой стороны подходить к нему(((
А вы не подскажете как эт сделать, ну или хоть пример где найти, куда копать?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
ну могу сказать как на jQuery )
вот например для Joomla 3
Код: php
JHtml::_('jquery.framework');
JFactory::getDocument()->addScriptDeclaration(' jQuery(document).ready(function ($) { $("#item-form").attr("enctype", "multipart/form-data"); }); '); 
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
ну могу сказать как на jQuery )
вот например для Joomla 3
Код: php
JHtml::_('jquery.framework');
JFactory::getDocument()->addScriptDeclaration(' jQuery(document).ready(function ($) { $("#item-form").attr("enctype", "multipart/form-data"); }); '); 
Ок, спасибо. Куда копать наверное понял))) Буду думать для версии 2.5) Если что, буду писать сюда)
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Ок, спасибо. Куда копать наверное понял))) Буду думать для версии 2.5) Если что, буду писать сюда)
для версии 2.5 почти тоже
JFactory::getDocument()->addScript( '//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js' );
JFactory::getDocument()->addScriptDeclaration(' jQuery(document).ready(function ($) { $("#item-form").attr("enctype", "multipart/form-data"); }); ');
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
для версии 2.5 почти тоже
JFactory::getDocument()->addScript( '//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js' );
JFactory::getDocument()->addScriptDeclaration(' jQuery(document).ready(function ($) { $("#item-form").attr("enctype", "multipart/form-data"); }); ');
Ды я бы до этих строк бы неделю потерял... разбираясь
Спасибо.
А я так понимаю их ведь не в onContentAfterSave ставить?
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Ды я бы до этих строк бы неделю потерял... разбираясь
Спасибо.
А я так понимаю их ведь не в onContentAfterSave ставить?
нет конечно ) я пихаю в
Код: php
public function onContentPrepareData()
{
$input = JFactory::getApplication()->input;
if ( $input->getCmd( 'option', '' ) === 'com_content' && $input->getCmd( 'view', '' ) === 'article' && $nput->getCmd( 'layout', '' ) === 'edit' ) {
JFactory::getDocument()->addScript( '//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js' );
JFactory::getDocument()->addScriptDeclaration(' jQuery(document).ready(function ($) { $("#item-form").attr("enctype", "multipart/form-data"); }); ');
}
}
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
нет конечно ) я пихаю в
Код: php
public function onContentPrepareData()
{
$input = JFactory::getApplication()->input;
if ( $input->getCmd( 'option', '' ) === 'com_content' && $input->getCmd( 'view', '' ) === 'article' && $nput->getCmd( 'layout', '' ) === 'edit' ) {
JFactory::getDocument()->addScript( '//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js' );
JFactory::getDocument()->addScriptDeclaration(' jQuery(document).ready(function ($) { $("#item-form").attr("enctype", "multipart/form-data"); }); ');
}
}
Ок, спасиб. У меня onContentPrepareData не работает, я запихну в onContentPrepareForm.

Т.к. JS не знаю, результат какой должен получиться? В HTML коде должна добавиться  enctype="multipart/form-data"? Или физически не добавиться, но будет работать как с enctype="multipart/form-data" ? У меня вот не добавилось ничего, ну и изменений не произошло...

Добавил:
Код
JFactory::getDocument()->addScript( 'http://code.jquery.com/jquery-latest.min.js' );
JFactory::getDocument()->addScriptDeclaration(' jQuery(document).ready(function ($) { $("#item-form").attr("enctype", "multipart/form-data"); }); ');
Строка по добавлению jquery появилась, вторая строка тоже появилась в разделе скриптов. Но вот сам атрибут нифига не появляется в теге form

И вот оно) о чудо) атрибут физически не появился, но... переменная $files теперь содержит инфу) Поменял первую строку и вроде заработало) Буду разбираться, спасибо)
« Последнее редактирование: 06.11.2013, 11:54:31 от Sphinx »
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
И вот оно) о чудо) атрибут физически не появился, но... переменная $files теперь содержит инфу) Поменял первую строку и вроде заработало) Буду разбираться, спасибо)
Атрибут через просмотр HTML кода вы естественно не увидите! потому что там не отображается выполнения скриптов! если вы просмотрите через "Просмотр кода элемента" в Chrome то увидите что у формы появится этот атрибут )
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
Атрибут через просмотр HTML кода вы естественно не увидите! потому что там не отображается выполнения скриптов! если вы просмотрите через "Просмотр кода элемента" в Chrome то увидите что у формы появится этот атрибут )
Ок, спасибо. Все работает.
Полезные статейки у вас для работы с файлами, папками и изображениями:
http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/rabota-s-izobrazheniyami-v-joomla-jimage
http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/rabota-s-papkami-v-joomla-klass-jfolder
http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/rabota-s-fajlami-v-joomla-klass-jfile
Без них бы я долго разбирался и искал нужную инфу)
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Ок, спасибо. Все работает.
Не за что )
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
А подскажите еще, как в XML файл добавить параметр к инпуту:
onkeypress="return filter_input(event,/[А-Я0-9]/i)"

Код
<field
  name="test"
  type="text"
  label="test"
  description="test"
  size="20"
  default=""
=/>

Необходимо что бы в итоге получилось:
<input type="text" name="jform[test]" id="test" value="123456789" size="20" onkeypress="return filter_input(event,/[А-Я0-9]/i)"/>
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Только написать свой field который унаследовать от JFieldText
*

Sphinx

  • Захожу иногда
  • 72
  • 0 / 0
Только написать свой field который унаследовать от JFieldText
Нда, как оказывается, геморно модифицировать под свои нужды стандартный компонент материалов( Куда проще и быстрее, по ходу дела, написать свой, заточенный только под свои задачи, компонент....
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент для создания тестов 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