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

waterfly

  • Захожу иногда
  • 83
  • 0 / 0
Подскажите пожалуйста решение для K2+J2.5.
Компонент К2 генерирует одни и те же заголовки в категориях. Т.е. тайтл "Новости" будет как на первой так и на второй странице.
Необходимо на страницах отличных от первой получить "Новости стр.2" и тд.
Проблема уже решалась для j1.5 здесь http://joomlaforum.ru/index.php/topic,191429.0.html и была удачно решена.
Но все те методы не подходят, ума не приложу как прикрутить.

Предполагаю что добавление кода должно быть в components\com_k2\views\item\view.html.php в этом месте
Код:

Код
// Set page title
$menus = &JSite::getMenu();
$menu = $menus->getActive();
if (is_object($menu) && isset($menu->query['view']) && $menu->query['view'] == 'item' && isset($menu->query['id']) && $menu->query['id'] == $item->id) {
$menu_params = new JParameter($menu->params);
if (!$menu_params->get('page_title')) {
$params->set('page_title', $item->cleanTitle);
}
} else {
$params->set('page_title', $item->cleanTitle);
}

if(K2_JVERSION == '16') {
if ($mainframe->getCfg('sitename_pagetitles', 0) == 1) {
$title = JText::sprintf('JPAGETITLE', $mainframe->getCfg('sitename'), $params->get('page_title'));
$params->set('page_title', $title);
}
elseif ($mainframe->getCfg('sitename_pagetitles', 0) == 2) {
$title = JText::sprintf('JPAGETITLE', $params->get('page_title'), $mainframe->getCfg('sitename'));
$params->set('page_title', $title);
}
}
$document->setTitle($params->get('page_title'));

Спасибо
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

waterfly

  • Захожу иногда
  • 83
  • 0 / 0
совершенно верно. есть папка itemlist. но манипуляции в не ни к чему не приводят.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
в принципе не важно, можно все на уровне шаблона сделать. Напиши(скопируй) ссылки какие у тебя выходят (limit или start покажи)
*

waterfly

  • Захожу иногда
  • 83
  • 0 / 0
Скорее всего $limit.
Я извиняюсь, пытаюсь учиться. Код вывода категории
Код
<?php
/**
 * @version $Id: category.php 1273 2011-10-27 16:12:32Z lefteris.kavadas $
 * @package K2
 * @author JoomlaWorks http://www.joomlaworks.gr
 * @copyright Copyright (c) 2006 - 2011 JoomlaWorks Ltd. All rights reserved.
 * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

?>

<!-- Start K2 Category Layout -->
<div id="k2Container" class="itemListView<?php if($this->params->get('pageclass_sfx')) echo ' '.$this->params->get('pageclass_sfx'); ?>">

<?php if($this->params->get('show_page_title')): ?>
<!-- Page title -->
<div class="componentheading<?php echo $this->params->get('pageclass_sfx')?>">
<?php echo $this->escape($this->params->get('page_title')); ?>
</div>
<?php endif; ?>


<?php if($this->params->get('catImage') && $this->category->image): ?>
<!-- Category image -->
<img width="100" height="100" alt="<?php echo K2HelperUtilities::cleanHtml($this->category->name); ?>" src="<?php echo $this->category->image; ?>" style="width:<?php echo $this->params->get('catImageWidth'); ?>px; float:left; padding:0px 18px 0px 0px; height:auto;" />
<?php endif; ?>

<?php if($this->params->get('catTitle')): ?>
<!-- Category title -->
<h1 style="font-size: 16pt;"><?php echo $this->category->name; ?><?php if($this->params->get('catTitleItemCounter')) echo ' ('.$this->pagination->total.')'; ?></h1>
<?php endif; ?>





<?php if(isset($this->category) || ( $this->params->get('subCategories') && isset($this->subCategories) && count($this->subCategories) )): ?>
<!-- Blocks for current category and subcategories -->
<div class="itemListCategoriesBlock">

<?php if(isset($this->category) && ( $this->params->get('catImage') || $this->params->get('catTitle') || $this->params->get('catDescription') || $this->category->event->K2CategoryDisplay )): ?>
<!-- Category block -->




<!-- K2 Plugins: K2CategoryDisplay -->
<?php echo $this->category->event->K2CategoryDisplay; ?>

<div class="clr"></div>

<?php endif; ?>

<?php if($this->params->get('subCategories') && isset($this->subCategories) && count($this->subCategories)): ?>
<!-- Subcategories -->
<div class="itemListSubCategories">


<?php foreach($this->subCategories as $key=>$subCategory): ?>

<?php
// Define a CSS class for the last container on each row
if( (($key+1)%($this->params->get('subCatColumns'))==0) || count($this->subCategories)<$this->params->get('subCatColumns') )
$lastContainer= ' subCategoryContainerLast';
else
$lastContainer='';
?>






<?php if($this->params->get('subCatTitle')): ?>
<!-- Subcategory title -->







{tip <?php echo $subCategory->name; ?>::





<?php if($this->params->get('subCatDescription')): ?>
<!-- Subcategory description -->
<p><?php echo K2HelperUtilities::wordLimit($subCategory->description,30); ?></p>

<?php endif; ?>


Перейти в раздел.




<?php if($this->params->get('subCatTitleItemCounter')) echo ' ('.$subCategory->numOfItems.')'; ?>


<?php endif; ?>



}
 
 
 
 <div class="subCategoryContainer<?php echo $lastContainer; ?>"<?php echo (count($this->subCategories)==1)? '' : ' style="width:'.number_format(100/$this->params->get('subCatColumns'), 1).'%;"'; ?>>
<div class="subCategory">
<?php if($this->params->get('subCatImage') && $subCategory->image): ?>
<!-- Subcategory image -->
<a rel="nofollow" class="subCategoryImage" href="<?php echo $subCategory->link; ?>">
<img alt="<?php echo K2HelperUtilities::cleanHtml($subCategory->name); ?>" src="<?php echo $subCategory->image; ?>" />
</a>
<?php endif; ?>



{/tip}








<div class="clr"></div>
</div>
</div>





<?php if(($key+1)%($this->params->get('subCatColumns'))==0): ?>
<div class="clr"></div>
<?php endif; ?>
<?php endforeach; ?>

<div class="clr"></div>
</div>
<?php endif; ?>

</div>
<?php endif; ?>






<?php if((isset($this->leading) || isset($this->primary) || isset($this->secondary) || isset($this->links)) && (count($this->leading) || count($this->primary) || count($this->secondary) || count($this->links))): ?>
<!-- Item list -->
<div class="itemList">

<?php if(isset($this->leading) && count($this->leading)): ?>
<!-- Leading items -->
<div id="itemListLeading">
<?php foreach($this->leading as $key=>$item): ?>

<?php
// Define a CSS class for the last container on each row
if( (($key+1)%($this->params->get('num_leading_columns'))==0) || count($this->leading)<$this->params->get('num_leading_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>

<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->leading)==1)? '' : ' style="width:'.number_format(100/$this->params->get('num_leading_columns'), 1).'%;"'; ?>>
<?php
// Load category_item.php by default
$this->item=$item;
echo $this->loadTemplate('item');
?>
</div>
<?php if(($key+1)%($this->params->get('num_leading_columns'))==0): ?>
<div class="clr"></div>
<?php endif; ?>
<?php endforeach; ?>
<div class="clr"></div>
</div>
<?php endif; ?>

<?php if(isset($this->primary) && count($this->primary)): ?>
<!-- Primary items -->
<div id="itemListPrimary">
<?php foreach($this->primary as $key=>$item): ?>

<?php
// Define a CSS class for the last container on each row
if( (($key+1)%($this->params->get('num_primary_columns'))==0) || count($this->primary)<$this->params->get('num_primary_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>

<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->primary)==1)? '' : ' style="width:'.number_format(100/$this->params->get('num_primary_columns'), 1).'%;"'; ?>>
<?php
// Load category_item.php by default
$this->item=$item;
echo $this->loadTemplate('item');
?>
</div>
<?php if(($key+1)%($this->params->get('num_primary_columns'))==0): ?>
<div class="clr"></div>
<?php endif; ?>
<?php endforeach; ?>
<div class="clr"></div>
</div>
<?php endif; ?>

<?php if(isset($this->secondary) && count($this->secondary)): ?>
<!-- Secondary items -->
<div id="itemListSecondary">
<?php foreach($this->secondary as $key=>$item): ?>

<?php
// Define a CSS class for the last container on each row
if( (($key+1)%($this->params->get('num_secondary_columns'))==0) || count($this->secondary)<$this->params->get('num_secondary_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>

<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->secondary)==1)? '' : ' style="width:'.number_format(100/$this->params->get('num_secondary_columns'), 1).'%;"'; ?>>
<?php
// Load category_item.php by default
$this->item=$item;
echo $this->loadTemplate('item');
?>
</div>
<?php if(($key+1)%($this->params->get('num_secondary_columns'))==0): ?>
<div class="clr"></div>
<?php endif; ?>
<?php endforeach; ?>
<div class="clr"></div>
</div>
<?php endif; ?>

<?php if(isset($this->links) && count($this->links)): ?>
<!-- Link items -->
<div id="itemListLinks">
<h4><?php echo JText::_('K2_MORE'); ?></h4>
<?php foreach($this->links as $key=>$item): ?>

<?php
// Define a CSS class for the last container on each row
if( (($key+1)%($this->params->get('num_links_columns'))==0) || count($this->links)<$this->params->get('num_links_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>

<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->links)==1)? '' : ' style="width:'.number_format(100/$this->params->get('num_links_columns'), 1).'%;"'; ?>>
<?php
// Load category_item_links.php by default
$this->item=$item;
echo $this->loadTemplate('item_links');
?>
</div>
<?php if(($key+1)%($this->params->get('num_links_columns'))==0): ?>
<div class="clr"></div>
<?php endif; ?>
<?php endforeach; ?>
<div class="clr"></div>
</div>
<?php endif; ?>

</div>

<!-- Pagination -->
<?php if(count($this->pagination->getPagesLinks())): ?>
<div class="k2Pagination">
<?php if($this->params->get('catPagination')) echo $this->pagination->getPagesLinks(); ?>
<div class="clr"></div>
<?php if($this->params->get('catPaginationResults')) echo $this->pagination->getPagesCounter(); ?>
</div>
<?php endif; ?>

<?php endif; ?>
</div>

<?php if(isset($this->addLink)): ?>
<!-- Item add link -->
<span class="catItemAddLink">
<a class="modal" rel="{handler:'iframe',size:{x:990,y:650}}" href="<?php echo $this->addLink; ?>">
<?php echo JText::_('K2_ADD_A_NEW_ITEM_IN_THIS_CATEGORY'); ?>
</a>
</span>
<?php endif; ?>



<?php
$start = JRequest::getInt('limitstart',0);
$option = JRequest::getVar('option','');
 if(!$start && $option == 'com_k2'){ ?>


<p><?php echo $this->category->description; ?></p>
<?php } ?>
<!-- End K2 Category Layout -->

Если это имелось ввиду
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

waterfly

  • Захожу иногда
  • 83
  • 0 / 0
novosti.html
novosti/page-2.html
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
if ($app->input->getInt('limitstart',0))
 {
    $meTitle = $doc->getTitle().' / '.$this->pagination->getPagesCounter();
    $doc->setTitle($meTitle);
 }
?>
Вставь код в приведенный тобой выше в конец файла
*

waterfly

  • Захожу иногда
  • 83
  • 0 / 0
Не выводит( ВЫВОДИТ! <title>Новости / Страница 3 из 44</title>
Очистил кеш. Poznakomlus  Снимаю шляпу :D

PS
А общее число страниц как убрать?
« Последнее редактирование: 19.01.2013, 05:43:45 от waterfly »
*

waterfly

  • Захожу иногда
  • 83
  • 0 / 0
Туплю... Ночь...Разобрался. Спасибо.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
if($pageNum = preg_filter('/.*page\-([0-9]+)\.html$/uis', '<?php
if($pageNum = preg_filter('/.*page\-([0-9]+)\.html$/uis', '$1', JURI::getInstance()->toString()))
{
    $doc = JFactory::getDocument();
    $doc->setTitle($doc->getTitle().' Страница №'.$pageNum);
}?>', JURI::getInstance()->toString()))
{
    $doc = JFactory::getDocument();
    $doc->setTitle($doc->getTitle().' Страница №'.$pageNum);
}?>
Это ответ зачем мне нужны были ссылки адресной строки. yes!
Код обрабатывает ссылки вида *page-2.html...*page-999.html...
Данный код можно вставлять прямо в шаблон сайта. Будет обрабатывать также другие компоненты с ссылками приведенными выше вида
*

waterfly

  • Захожу иногда
  • 83
  • 0 / 0
Цитировать
Данный код можно вставлять прямо в шаблон сайта. Будет обрабатывать также другие компоненты
Так же, великолепно работает.
*

waterfly

  • Захожу иногда
  • 83
  • 0 / 0
Цитировать
<?php
if($pageNum = preg_filter('/.*page\-([0-9]+)\.html$/uis', '$1', JURI::getInstance()->toString()))
{
    $doc = JFactory::getDocument();
    $doc->setTitle($doc->getTitle().' Страница №'.$pageNum);
}?>
Этот код на локалхосте выдает Fatal error:  Call to undefined function  preg_filter
Копать в сторону денвера?
*

sheru

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Код: php-brief
<?php
if($pageNum = preg_filter('/.*page\-([0-9]+)\.html$/uis', '<?php
if($pageNum = preg_filter('/.*page\-([0-9]+)\.html$/uis', '$1', JURI::getInstance()->toString()))
{
    $doc = JFactory::getDocument();
    $doc->setTitle($doc->getTitle().' Страница №'.$pageNum);
}?>', JURI::getInstance()->toString()))
{
    $doc = JFactory::getDocument();
    $doc->setTitle($doc->getTitle().' Страница №'.$pageNum);
}?>
Это ответ зачем мне нужны были ссылки адресной строки. yes!
Код обрабатывает ссылки вида *page-2.html...*page-999.html...
Данный код можно вставлять прямо в шаблон сайта. Будет обрабатывать также другие компоненты с ссылками приведенными выше вида
Подскажите, пожалуйста, а если страницы в адресной строке выводятся как ?start=nn , то как это сделать. Вставил в шаблон ваш код, заменил page на start  Не работает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение материалов в категориях k2

Автор chertov

Ответов: 0
Просмотров: 1116
Последний ответ 12.05.2018, 08:08:44
от chertov
Интеграция JComments в категориях K2

Автор kisBoss

Ответов: 3
Просмотров: 1074
Последний ответ 19.09.2017, 20:05:30
от kisBoss
Сломался вывод материалов в категориях

Автор sergspb

Ответов: 1
Просмотров: 1087
Последний ответ 30.04.2017, 10:10:42
от sergspb
Фигасе. K2 запрещает одинаковые псевдонимы материалов в разных категориях. Так ли это?

Автор cvasilyev

Ответов: 13
Просмотров: 1268
Последний ответ 12.12.2016, 12:45:39
от Septdir
Дубли. Один материал в нескольких категориях, как решить проблему?

Автор h.vitaly

Ответов: 4
Просмотров: 1258
Последний ответ 25.06.2015, 20:18:31
от h.vitaly