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

4ort

  • Захожу иногда
  • 82
  • 0 / 0
« Последнее редактирование: 23.11.2011, 09:14:51 от 4ort »
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Самое простое - добавить условие в шаблон.

Например для шаблона item.php :

найдите строчку

Код
<?php if($this->item->params->get('itemRating')): ?>

приведите к следующему виду

Код
	
<?php if($this->item->params->get('itemRating')  && !$this->user->guest): ?>
*

4ort

  • Захожу иногда
  • 82
  • 0 / 0
SDKiller, спасибо, что откликнулся, но если сделать так - звезды просто скрываются от незарегистрированных пользователей, а нужно что-бы они не могли менять рейтинг, но видели его.
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Тогда есть варианты:

1. В том же шаблоне в блоке рейтинга для каждой звезды заменить

Код
rel="<?php echo $this->item->id; ?>"

на

Код
rel="<?php echo (!$this->user->guest)? $this->item->id : ''; ?>"

Тогда на клики незарегистрированных пользователей по звёздочке не будет никакой реакции

(Поэтому имеет смысл в шаблоне по аналогичному условию для гостей воткнуть постоянное сообщения типа
"Голосовать могут только зарегистрированные пользователи"  -например ниже или сбоку).



2. Вносить изменения в модель item - функция vote()
Тогда можно будет не трогать шаблон а проверку пользователя и формирования соответствующего сообщения для аякса сделать в модели.
« Последнее редактирование: 22.11.2011, 17:16:18 от SDKiller »
*

4ort

  • Захожу иногда
  • 82
  • 0 / 0
SDKiller, огромное спасибо! :)
Первый вариант - действительно не хватало комментария.
Но зато получилось модифицировать функцию vote() как мне нужно (в php ничего не понимаю, поэтому сделал, возможно, кривовато)

Было:
Код: php
function vote(){

$mainframe = &JFactory::getApplication();
JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables' );

//Get item
$item = & JTable::getInstance('K2Item', 'Table');
$item->load(JRequest::getInt('itemID'));

//Get category
$category = & JTable::getInstance('K2Category', 'Table');
$category->load($item->catid);

//Access check
$user = JFactory::getUser();
if ($item->access > $user->get('aid', 0) || $category->access > $user->get('aid', 0)) {
JError::raiseError( 403, JText::_("ALERTNOTAUTH") );
}

//Published check
if (!$item->published || $item->trash ) {
JError::raiseError( 404, JText::_("Item not found") );
}
if (!$category->published || $category->trash) {
JError::raiseError( 404, JText::_("Item not found") );
}


$rate = JRequest::getVar('user_rating', 0, '', 'int');

if ( $rate >= 1 && $rate <= 5) {
$db = & JFactory::getDBO();
$userIP =  $_SERVER['REMOTE_ADDR'];
$query = "SELECT * FROM #__k2_rating WHERE itemID =".(int)$item->id;
$db->setQuery($query);
$rating = $db->loadObject();

if (!$rating) {
$query = "INSERT INTO #__k2_rating ( itemID, lastip, rating_sum, rating_count ) VALUES ( ".(int)$item->id.", ".$db->Quote($userIP).", {$rate}, 1 )";
$db->setQuery($query);
$db->query();
echo JText::_('Thanks for rating!');

}

else {
if ($userIP != ($rating->lastip)) {
$query = "UPDATE #__k2_rating".
" SET rating_count = rating_count + 1, rating_sum = rating_sum + {$rate}, lastip = ".$db->Quote($userIP).
" WHERE itemID = {$item->id}";
$db->setQuery($query);
$db->query();
echo JText::_('Thanks for rating!');

}
else {
echo JText::_('You have already rated this item.');
}
}

}
$mainframe->close();
}

После изменения стало:
Код: php
     function vote(){

$mainframe = &JFactory::getApplication();
$user = JFactory::getUser();
if (!$user->guest){
JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables' );

//Get item
$item = & JTable::getInstance('K2Item', 'Table');
$item->load(JRequest::getInt('itemID'));

//Get category
$category = & JTable::getInstance('K2Category', 'Table');
$category->load($item->catid);

//Access check
//$user = JFactory::getUser();
if ($item->access > $user->get('aid', 0) || $category->access > $user->get('aid', 0)) {
JError::raiseError( 403, JText::_("ALERTNOTAUTH") );
}

//Published check
if (!$item->published || $item->trash ) {
JError::raiseError( 404, JText::_("Item not found") );
}
if (!$category->published || $category->trash) {
JError::raiseError( 404, JText::_("Item not found") );
}


$rate = JRequest::getVar('user_rating', 0, '', 'int');

if ( $rate >= 1 && $rate <= 5) {
$db = & JFactory::getDBO();
$userIP =  $_SERVER['REMOTE_ADDR'];
$query = "SELECT * FROM #__k2_rating WHERE itemID =".(int)$item->id;
$db->setQuery($query);
$rating = $db->loadObject();

if (!$rating) {
$query = "INSERT INTO #__k2_rating ( itemID, lastip, rating_sum, rating_count ) VALUES ( ".(int)$item->id.", ".$db->Quote($userIP).", {$rate}, 1 )";
$db->setQuery($query);
$db->query();
echo JText::_('Thanks for rating!');

}

else {
if ($userIP != ($rating->lastip)) {
$query = "UPDATE #__k2_rating".
" SET rating_count = rating_count + 1, rating_sum = rating_sum + {$rate}, lastip = ".$db->Quote($userIP).
" WHERE itemID = {$item->id}";
$db->setQuery($query);
$db->query();
echo JText::_('Thanks for rating!');

}
else {
echo JText::_('You have already rated this item.');
}
}

}
}
else {
echo JText::_('Войдите, или зарегистрируйтесь, что-бы оценить.');
}
$mainframe->close();
    }
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Да нормально.
Только было бы правильнее дополнить языковой файл, а не писать кириллицей в модели.
*

xxxLuffy

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Заменил функцию vote как написано выше и не чего не изменилось, гостем клацая на звёздочки просто не реагирует и не каких сообщений типа "Войдите, или зарегистрируйтесь, что-бы оценить." не выводит ...

_

Все дошло, что при варианте что оно не будет реагировать оно таки не реагирует и надо вернуть изначальный вариант чтобы оно реагировало на не зареганых)
теперь проблема с кракозябрами вместо нужного сообщения - "Войдите, или зарегистрируйтесь, что-бы оценить." но это я думаю уже исправить сам смогу)
« Последнее редактирование: 08.01.2012, 19:36:21 от xxxLuffy »
*

_ib_

  • Давно я тут
  • 673
  • 100 / 8
вывод сообщения о регистрации:
echo JText::_('JGLOBAL_YOU_MUST_LOGIN_FIRST');
Легальные шаблоны и дёшево!  + скидки до 50% для шаблонов клуба Joomlart, RocketTheme, Yootheme и Gavick.

при интересе пишите в личку или на мыло: "p" точка "d" собака gmx.de
*

name

  • Захожу иногда
  • 123
  • 1 / 0
По методу из 4 поста у меня просто выдается сообщение для не авторизованных пользователей, но для авторизованных стрелка просто по кругу вертится бесконечно
*

googlonator

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
Не могу найти вообще таких строк у себя. Первую нашел, а вот где эту функцию vote взять не знаю. В item.php нету

Нашел. Я искал в папке шаблона /com_k2/template/default , а надо было в папке models/item.php =)

Нашел ошибку.( Теперь зарегистрированные пользователи не могут голосовать( Бесконечно крутиться загрузка.

Может кто знает как исправить?
« Последнее редактирование: 17.05.2015, 13:31:59 от googlonator »
*

googlonator

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
Всё. Разобрался. В сообщении от 4ort где приведен готовый пример, что то приводит к ошибке. Не копируйте! Просто допишите самостоятельно строки в файл modules/item.php строки
Код
$user = JFactory::getUser();
if (!$user->guest){
как показано в примере выше от 4ort
И в конце добавьте одну закрывающуюся скобку и
Код
else {
echo JText::_('Войдите, или зарегистрируйтесь, чтобы оценить.');
}
И вуаля, всё работает на ура как с зарегестрированными пользователями так и с гостями =)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отдельные допполя видны только админу

Автор глюм

Ответов: 0
Просмотров: 1389
Последний ответ 22.08.2013, 14:15:14
от глюм