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

kupo

  • Захожу иногда
  • 62
  • 1 / 0
Ребята, проблема такова. Создаю компонент, который будет задавать вопрос из БД, на который пользователь должен ответить и если ответ будет правильный, выведется сообщение "ВЕРНО" если ответ неправильный "НЕВЕРНО". Я почти у же все сделал, данные через админку добавляются, через фронтэнд тоже. Но я никак не могу понять, как сделать проверку введенных ответов. Как я понимаю, для того чтобы кнопка отправить работала, необходимо создать функцию в контроллере. В этой функции будет переменная куда будут поступать введенный ответ. Но на сколько я понимаю, все действия с БД должны выполняться в модели, в которой я создал массив полей с ответами из БД. Так вот проблема в том что не могу понять, как отправить переменную с введенными данными из контроллера в модель, и сравнить с массивом ответов.

Вообще подскажите пожалуйста я правильно мыслю?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Цитировать
Вообще подскажите пожалуйста я правильно мыслю?

Вы даже неправильно пишете. А переменная в функцию модели передается так-же, как и в любую другую функцию.

Код: php
$model->func($var);
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

kupo

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

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Мысль то в чем заключается? Если по правилам все хочешь, то получай данные в контроллер, передавай в модель, обрабатывай, выводи видом.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

kupo

  • Захожу иногда
  • 62
  • 1 / 0
Если по правилам все хочешь, то получай данные в контроллер, передавай в модель, обрабатывай, выводи видом.
Так и хотел сделать. Спасибо.
*

kupo

  • Захожу иногда
  • 62
  • 1 / 0
Хммм... Получил введенные данные в контроллер, отправил их в модель, а как их вывести видом? Точнее, если введенный ответ равен тому, что в бд, тогда выводиться сообщение верно иначе не верно...
Я записал так:
если верно тогда $mess = JText::_('Верно');
если неверно тогда $mess = JText::_('Неверно');   

А как из контроллера передать переменную в вид? Так же?
$view->func($mess);

Тогда как её получить в виде? Я понимаю, что в файле view.html.php нужно создать функцию func($mess), а что нужно написать в ней, чтобы отображался текст переменной?
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
в виде view.html.php

$mess = $model->func();
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Привет!

Какой смысл передавать в вид? Можно в контроллере выставлять $mess и отдавать в виде сообщения используя setMessage.

Я бы сделал так:

1. Получаем данные в контроллере.
2. Валидируем в моделе и возвращаем либо true либо false.
3. В контроллере в зависимости от того, что вернулось, выставляем сообщение.

Ну как-то вот так:

Код: php
$jinput = JFactory::getApplication()->input;
$myVar = $jinput->get('varname');

if ($model->validate($myVar))
{
$this->setMessage(JText::_('Верно'));
}
else
{
$this->setMessage(JText::_('Неверно'));
}

$this->setRedirect('url для редиректа');
*

kupo

  • Захожу иногда
  • 62
  • 1 / 0
Цитировать
Ну как-то вот так:
Спасибо! А не поможешь со сравниванием ответов? Я не могу понять, как сравнить введенный ответ с тем что в БД... Я думал что все делаю правильно, но нифига не получилось. Собственно вот моя функция в модели.

Код
public function getAuth($data)
{
                            $mess='Ответ не введен' // изначально переменная $mess будет выводить "Ответ не введен"

                            $query = 'SELECT ansver ' . ' FROM ' . '#__lesson';
       $this->_db->setQuery($query);
     $this->_teach = $this->_db->loadObjectList();
}

Как я понимаю, дальше нужно сделать условие в котором переменная $data должна совпадать с одной из записей из поля ansver. Но как это сделать я не могу понять....
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
А как хранятся записи в поле ansver? Как хранятся ответы? Без структуры БД тяжело ответить.

P.S.
Ответ по английски правильно answer, а не ansver.
*

kupo

  • Захожу иногда
  • 62
  • 1 / 0
Вот запрос который создавал таблицу
Код
CREATE TABLE `#__lesson` (
    id   bigint(20) unsigned NOT NULL auto_increment,
    name  CHAR(30),
    text  CHAR(128),
    ansver  CHAR(32),
PRIMARY KEY (`id`)
 ) TYPE=MyISAM;       

Как я понимаю нужен тип ячейки?
Да, я знаю что ошибся с буквой в слове, но менять не стал.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
То есть делается выборка всех ansver независимо от lesson? Если так, то:

Код: php
// Выбираем в виде массива ответов.
$this->_teach =  $db->loadResultArray();

// Пока ответ не нашли.
$found = false;

// Проходим по массиву из базы.
foreach ($this->_teach as $teach)
{
// Если ответ из формы совпадает с ответом из базы.
if ($data['ansver'] == $teach)
{
// Ответ найден.
$found = true;
}
}

return $found;
*

kupo

  • Захожу иногда
  • 62
  • 1 / 0
Цитировать
Invalid argument supplied for foreach() in
Программа жалуется, только не могу понять на что...
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

kupo

  • Захожу иногда
  • 62
  • 1 / 0
А куда это вставить надо? Просто в функцию модуля? Или вместо чего-то?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

kupo

  • Захожу иногда
  • 62
  • 1 / 0
Цитировать
syntax error, unexpected T_VARIABLE in
Вот что вывел после добавления этой строчки.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Не, так тяжело! Приложите весть код модели, только спрячьте его под тег spoiler, чтобы не было сообщение на всю страницу.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
А куда это вставить надо? Просто в функцию модуля? Или вместо чего-то?
var_dump($this->_teach);
kupo вы задаете вопросы не зная синтаксиса php?
Может вы не в том направлении двигаетесь
Этого вам не достаточно будет для отлавливания
Код: html4strict
<form action="" method="post" name="myForm">
<input type="text" class="inputbox" name="otvet" size="20">
<input type="submit" class="button" name="send" value="Отправить ответ">
</form>
<?php
$otvet = JRequest::getVar('otvet', '', 'post');
if($otvet) {
echo 'Поймал ответ сравнил с данными базы и вывел результат';
}
?>
*

kupo

  • Захожу иногда
  • 62
  • 1 / 0
Цитировать

kupo вы задаете вопросы не зная синтаксиса php?
Я только начал изучать php. Да, виноват, забыл поставить точку с запятой. А вот в приведенном вами коде, собственно где происходит сравнивание?

b2z, вот весь код модели. Я все же решил передавать данные из модели в вид, как я понял это не критично, просто мне так пока что проще.  Кстати дамп выдает NULL.
Спойлер
[свернуть]
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Ну так конечно NULL, посмотрите на строку запроса:

Код: php
$query = 'SELECT * ' . ' FROM ' . '#__lesson' . 'WHERE ansver=$data' ;

1. Между #__lesson и WHERE у вас нет пробела.
2. У вас переменная $data хранит точное значение из формы или же это массив $_POST и значение хранится в $data['ansver']? Что приходит из формы?
3. Код WHERE ansver=$data ведет почти к 100% SQL инъекции. SQL инъекцию можно избежать обрамив переменную в quote()
Код: php
$query = 'SELECT * ' . ' FROM ' . '#__lesson' . ' WHERE ansver=' . $this->_db->quote($data['ansver']);
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Зачем делать второй запрос?
В функции function getTeach мы уже получили все данные
*

kupo

  • Захожу иногда
  • 62
  • 1 / 0
Ну так конечно NULL, посмотрите на строку запроса:

Код: php
$query = 'SELECT * ' . ' FROM ' . '#__lesson' . 'WHERE ansver=$data' ;

1. Между #__lesson и WHERE у вас нет пробела.
2. У вас переменная $data хранит точное значение из формы или же это массив $_POST и значение хранится в $data['ansver']? Что приходит из формы?
3. Код WHERE ansver=$data ведет почти к 100% SQL инъекции. SQL инъекцию можно избежать обрамив переменную в quote()
Код: php
$query = 'SELECT * ' . ' FROM ' . '#__lesson' . ' WHERE ansver=' . $this->_db->quote($data['ansver']);

Что-то я совсем не понимаю...
1. Как понять не стоит пробела?
2. Переменная содержит точное значение из формы.

Блин... А можете посоветовать книги или мануалы по которым можно научиться программированию на Joomla?
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Блин... А можете посоветовать книги или мануалы по которым можно научиться программированию на Joomla?
С этого и надо было начинать...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Передать параметры модуля в файл стилей CSS.php

Автор fbr

Ответов: 6
Просмотров: 2230
Последний ответ 13.02.2014, 19:46:44
от varX
Передать массив данных между двумя представлениями

Автор redline16

Ответов: 1
Просмотров: 1185
Последний ответ 19.09.2013, 15:38:16
от Fedor Vlasenko
AJAX запрос к функции контроллера и JFactory::getUser

Автор kathu

Ответов: 12
Просмотров: 3605
Последний ответ 10.09.2013, 23:27:24
от Fedor Vlasenko
Joomla 2.5 Можно ли переопределить контроллер и модель в своем шаблоне?

Автор FeaMor

Ответов: 4
Просмотров: 2599
Последний ответ 04.09.2013, 19:21:50
от zomby6888
[Решено] Как подключить вид, минуя модель?

Автор SindBAD

Ответов: 3
Просмотров: 1897
Последний ответ 20.01.2013, 00:34:08
от SindBAD