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

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Учусь использовать внутренние команды Joomla.
Написал вывод инфы из 2х таблиц, но он работает медленно - запросов много делает.

Можете оценить реализацию и дать советы?

Код: php
		$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('private_code,receipt_name'); //достаю все квитанции
$query->from('#__action_receipt');
$query->where("content_id = 239");
$db->setQuery($query) or die("запрос1 не сработал");
$data = $db->loadObjectList();

foreach ($data as $var)
{
$receipts[] = $var->receipt_name;
$code_array[] = $var->private_code;
}

$a=0;
for ($i=0; $i < count($code_array); $i++)
{
$a++;
$rec = $receipts[$i];
$code = $code_array[$i];
$receipt_view = "<a href='user_receipts/sale/{$rec}' target='_blank'>{$rec}</a>";

$query = $db->getQuery(true);
$query->select('member');//вывожу пользователя по коду квитанции
$query->from('#__actions_members');
$query->where("private_code = '{$code}'");
$db->setQuery($query) or die("запрос1 не сработал");
$member = $db->loadResult();

$query = $db->getQuery(true);
$query->select('supervisor');//вывожу куратора по коду квитанции
$query->from('#__actions_members');
$query->where("private_code = '{$code}'");
$db->setQuery($query) or die("запрос1 не сработал");
$supervisor = $db->loadResult();

$query = $db->getQuery(true);
$query->select('email');
$query->from('#__actions_members');
$query->where("private_code = '{$code}'");
$db->setQuery($query) or die("запрос1 не сработал");
$email = $db->loadResult();


$tab .= "<tr><td>{$a}</td><td>{$member}</td><td>{$supervisor}</td><td>{$email}</td><td>{$receipt_view}</td></tr>";


}

echo "<table>{$tab}</table>";
Мой сайт про корабли
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Оптимизировать кол-во запросов
« Ответ #1 : 22.01.2014, 08:19:32 »
а зачем проверка, и три запроса, еще и префикс можно добавить таблиц
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Оптимизировать кол-во запросов
« Ответ #2 : 22.01.2014, 10:07:18 »
Запросы в цикле есть очень плохо, можно и подавиться. Надо брать всю информацию одним запросом с использованием джойнов или подзапросов.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Оптимизировать кол-во запросов
« Ответ #3 : 22.01.2014, 11:46:36 »
Mick_20 Вам нужно сначала не внутренние команды Joomla изучить, а как правильно строить SQL запросы.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Оптимизировать кол-во запросов
« Ответ #4 : 22.01.2014, 13:19:00 »
Для начала вам нужно выучить SQL!
В Joomla подобный код: $db->setQuery($query) or die("запрос1 не сработал");  бред!
Дальше нам бы увидеть структуру ваших таблиц, а вам бы почитать про JOIN в sql!
Я уже молчу про эти три запроса:

Код: php
$query = $db->getQuery(true);
$query->select('member');//вывожу пользователя по коду квитанции
$query->from('#__actions_members');
$query->where("private_code = '{$code}'");
$db->setQuery($query) or die("запрос1 не сработал");
$member = $db->loadResult();
 
$query = $db->getQuery(true);
$query->select('supervisor');//вывожу куратора по коду квитанции
$query->from('#__actions_members');
$query->where("private_code = '{$code}'");
$db->setQuery($query) or die("запрос1 не сработал");
$supervisor = $db->loadResult();
 
$query = $db->getQuery(true);
$query->select('email');
$query->from('#__actions_members');
$query->where("private_code = '{$code}'");
$db->setQuery($query) or die("запрос1 не сработал");
$email = $db->loadResult();

Даже в таком виде все это можно сократить до:
Код: php
$query = $db->getQuery(true);
$query->select('member, supervisor, email')
->from('#__actions_members')
->where("private_code = '{$code}'");
$user= $db->setQuery($query)->loadObject();
$tab .= "<tr><td>{$a}</td><td>{$user->member}</td><td>{$user->supervisor}</td><td>{$email}</td><td>{$user->receipt_view}</td></tr>";


А вообще подозреваю что ваш код можно сократить до:
Код: php
$query = $db->getQuery(true);
$query->select('r.private_code, r.receipt_name, m.member, m.supervisor, m.email')
->from('#__action_receipt AS r')
->leftJoint('#__actions_members AS m ON r.private_code=m.private_code')
->where("r.content_id = 239");
$list= $db->setQuery($query)->loadObjectList();
Посмотрите или в list будет все что вам нужно..и выводите в цикле

« Последнее редактирование: 22.01.2014, 13:25:07 от Istaan »
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #5 : 22.01.2014, 13:58:54 »
спасибо. обязательно разберусь
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #6 : 24.01.2014, 11:27:50 »
Скажите почему не сортирует по столбцу supervisor

Код: sql
$query->select('member, supervisor, email')
->from('#__actions_members')
->where("private_code = '{$code}'")
->order("supervisor");
$user= $db->setQuery($query)->loadObject();
Мой сайт про корабли
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Оптимизировать кол-во запросов
« Ответ #7 : 24.01.2014, 11:54:07 »
а что пытаетесь отсортировать? asc или desc
вы просто мануалы запросов (работу с mysql) сначала посмотрите потом разберетесь и в движке, изначально азы нужны и общие понятия как php так и работы с MySQL, а потом уже и на любом фреймворке разберетесь
http://www.mysql.ru/docs/man/ORDER_BY_optimisation.html
http://www.mysql.ru/docs/man/Sorting_rows.html
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #8 : 24.01.2014, 12:48:43 »
а что пытаетесь отсортировать? asc или desc
вы просто мануалы запросов (работу с mysql) сначала посмотрите потом разберетесь и в движке, изначально азы нужны и общие понятия как php так и работы с MySQL, а потом уже и на любом фреймворке разберетесь
http://www.mysql.ru/docs/man/ORDER_BY_optimisation.html
http://www.mysql.ru/docs/man/Sorting_rows.html

Да вроде понятно - ASC по порядку, DESC в обратном порядке.

Я сортировал уже по полю supervisor и работало - вот:
Код: sql
		$query->select('private_code,member,supervisor,email');
$query->from('#__actions_members');
$query->where("content_id = 239 AND provereno='0'");
$query->order('supervisor');

Не понимаю в чем проблема(
Мой сайт про корабли
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Оптимизировать кол-во запросов
« Ответ #9 : 24.01.2014, 12:54:43 »
Не помню, но возможно порядок нужен обязательно:
Код: php
$query->order('supervisor DESC');
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #10 : 24.01.2014, 13:05:08 »
Не помню, но возможно порядок нужен обязательно:
Код: php
$query->order('supervisor DESC');
НЕ работает в таком виде

Код: sql
			$query = $db->getQuery(true);
$query->select('member,supervisor,email')
->from('#__actions_members')
->where("private_code = '{$code}'")
->order('supervisor DESC');
$user= $db->setQuery($query)->loadObject();

А так работает даже без порядка
Код: php
		$query = $db->getQuery(true);
$query->select('private_code,member,supervisor,email');
$query->from('#__actions_members');
$query->where("content_id = 239 AND provereno='0'");
$query->order('supervisor');
Мой сайт про корабли
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Оптимизировать кол-во запросов
« Ответ #11 : 24.01.2014, 13:06:36 »
а $query->order('supervisor ASC'); ?
и да какая должна быть сортировка если вы выбираете одиночную запись по полю private_code = {$code}  ?!
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #12 : 24.01.2014, 13:08:12 »
а $query->order('supervisor ASC'); ?
и да какая должна быть сортировка если вы выбираете одиночную запись по полю private_code = {$code}  ?!
нет не работает
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #13 : 24.01.2014, 13:09:18 »
а $query->order('supervisor ASC'); ?
и да какая должна быть сортировка если вы выбираете одиночную запись по полю private_code = {$code}  ?!

блииииин (((( точна.... у меня этот запрос в подцикле и тащит по одной записи((
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #14 : 24.01.2014, 13:23:05 »
Пробую брать данные из БД в одном запросе как советовали:

Код: sql
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('r.private_code, r.receipt_name, m.member, m.supervisor, m.email')
->from('#__action_receipt AS r')
->leftJoint('#__actions_members AS m ON r.private_code=m.private_code')
->where("r.content_id = 239");
$list= $db->setQuery($query)->loadObjectList();

Выдает ошибку: Fatal error: Call to a member function where() on a non-object in /uspeh.tspu.ru/zzz/sales/output_receipts.php on line 10 Fatal error: Access to undeclared static property: JLoader::$classes in /uspeh.tspu.ru/libraries/loader.php on line 195

Может такая структура запроса не поддерживается? Joomla 2.5
Мой сайт про корабли
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Оптимизировать кол-во запросов
« Ответ #15 : 24.01.2014, 13:26:32 »
Может такая структура запроса не поддерживается? Joomla 2.5
Все проддерживается ) Банальная очепятка ) там где ->leftJoint('#__actions_members AS m ON r.private_code=m.private_code')
ошибка должно быть ->leftJoin('#__actions_members AS m ON r.private_code=m.private_code') лишняя буква t в конце leftJoin  ;D
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #16 : 24.01.2014, 13:30:54 »
хоспоти проштите меня грешного. ничего сам не могу(
заработало) спасибо)
Мой сайт про корабли
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Оптимизировать кол-во запросов
« Ответ #17 : 24.01.2014, 13:39:37 »
хоспоти проштите меня грешного. ничего сам не могу(
заработало) спасибо)
Запрос хоть работает как надо?) ато писал на глаз, не видя структуры данных будет чудом если он с первого раза запашет ))
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #18 : 24.01.2014, 14:48:06 »
Запрос хоть работает как надо?) ато писал на глаз, не видя структуры данных будет чудом если он с первого раза запашет ))
да ЧУДО! )) - правильно работает. я его на глаз проверил перед копированием)
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #19 : 26.01.2014, 13:23:36 »
А как отсортировать по двум полям? Сначало по m.supervisor потом по m.member?

Список участников по разному иногда выводится. Т к у одного supervisor по несколько member.

Например два раза зашел смотреть список:
1) Участник   |  Куратор
    ааааа        |  AAA
    bbbbb        |  AAA
    ccccc        |  AAA

2) Участник   |  Куратор
    ccccc        |  AAA
    bbbbb        |  AAA
    aaaaa        |  AAA

Код: sql
$query = $db->getQuery(true);
$query->select('r.private_code, r.receipt_name, m.member, m.id, m.supervisor, m.email,m.provereno')
->from('#__action_receipt AS r')
->leftJoin('#__actions_members AS m ON r.private_code=m.private_code')
->where("r.content_id = 239")
->order('m.supervisor');
$list= $db->setQuery($query)->loadObjectList();
« Последнее редактирование: 26.01.2014, 13:27:05 от Mick_20 »
Мой сайт про корабли
*

b2z

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

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: Оптимизировать кол-во запросов
« Ответ #21 : 27.01.2014, 19:16:20 »
о как. просто чз запятую.спс
Мой сайт про корабли
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Несколько запросов в $db->setQuery. Как ?

Автор softman_xp

Ответов: 45
Просмотров: 13417
Последний ответ 27.04.2010, 04:22:15
от atlantech