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

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
Вечер добрый
Подскажите пожалуйста
Как ссылки "Предыдущая" и "Следующая" в постраничной навигации заменить картинками?

В pagenavigation только какието
Код
$html .= $list['previous']['data'];
и
Код
$html .= $list['next']['data'];

Заранее спасибо
*

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
Отбой, уже решил другим способом
*

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
и всё же не решил, посоветуйте пожалуйста, как это можно организовать?

*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Так как кастомизация пагинации в Joomla сделана через *опу, придется поковырять pagination.php, тот что в пабке library/joomla/html.
Если оч надо - помыслю и напишу что и как сделать.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
Буду очень благодарен, если поможете
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
В искомом файле строка №483 и №498 :
Код
$data->previous	= new JPaginationObject(JText::_('Prev'));
$data->next = new JPaginationObject(JText::_('Next'));
меняем на:
Код
$data->previous	= new JPaginationObject('<img src="../../../images/back_f2.png"');
$data->next = new JPaginationObject('<img src="../../../images/back_f2.png"');
адрес к изображению и само изображение по вкусу.
Там же и находятся Start & End (в смысле Первая и Последняя)
*

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
Да, думаю это то что надо, но у меня в шаблоне уже свой pagination.php

объявил, но чтото тольок текст отображается

Код
function pagination_list_render($list)
{
// Initialize variables
$data->previous = new JPaginationObject('<img src="../images/prev.png">');    //----объявить вначале это ясно
    $data->next = new JPaginationObject('<img src="../images/next.png">');
$html = "<div class=\"pagenav\">";
if(strpos($list['start']['data'], "<a") === 0)
$html .= $list['start']['data'];
$html .= $list['previous']['data'];

foreach( $list['pages'] as $page )
{
if($page['data']['active']) {

}

$html .= $page['data'];

if($page['data']['active']) {

}
}

$html .= $list['next']['data'];
if(strpos($list['end']['data'], "<a") === 0)
$html .= $list['end']['data'];
$html .= '';


$html .= "</div>";
return $html;
}

function pagination_item_active(&$item) {
return "<a href=\"".$item->link."\" title=\"".$item->text."\">".$item->text."</a>";
}

function pagination_item_inactive(&$item) {
return "<span>".$item->text."</span>";
}
?>

заранее спасибо
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Препарируем файл library/joomla/html/pagination.php. Находим метод _buildDataObject.
В последнем цикле метода сразу после
Код: php
			$data->pages[$i] = new JPaginationObject($i);
добавляем
Код: php
			// alien code begin
$data->pages[$i]->type = 'page';
// alien code end
После цикла, перед return $data добавляем
Код: php
		// alien code begin
$data->start->type = 'start';
$data->previous->type = 'previous';
$data->next->type = 'next';
$data->end->type = 'end';
// alien code end
Теперь в файле pagination.php, в том что в шаблоне валяется(предполагается что взят из beez, с ul-списком), мы можем пользоваться свойством ->type, которое поможет различать ссылки как-то.
Можно например написать такие функции:

Код: php
function pagination_item_active(&$item) {
return "<li><a class=\"". $item->type ."\" href=\"".$item->link."\" title=\"".$item->text."\">".$item->text."</a></li>";
}

function pagination_item_inactive(&$item) {
return "<li><span class=\"". $item->type ."\">".$item->text."</span></li>";
}

Далее, в CSS произвести подмену текста Предыдущая и Следующая на нужные картинки.
Чета типа этого:
.pagination .previous{
    display: block;
    width: 40px;
    height: 20px;
    text-indent: -999px;
    overflow: hidden;
    background: url(../images/prevous.png) no-repeat;
}


ПС: писал долго блин...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
ща поштудируем ваш вариант, спасибо большое
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Да, думаю это то что надо, но у меня в шаблоне уже свой pagination.php

объявил, но чтото тольок текст отображается

заранее спасибо

Проверьте пути. У меня все нормально отображается.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
так если в шаблоне своя пагинация то там и править нужно, или я ошибаюсь? :)
Я с мобильного, в основном...
*

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
в шаблоне может быть только пару функций из пагинации, однако полный набор в библиотеках/Joomla...
*

mxa

  • Осваиваюсь на форуме
  • 23
  • 4 / 5
Нашел готовый pagination.php с картинками и вообще легко и удобно настраиваемый для шаблона без необходимости лезть в движок http://vintagemarketing.co.uk/v1/Joomla/icons-on-pagination-for-joomla.html
Можно добавить классы ко всем элементам навигации и тогда делаете так как хотите. Суперская вещь.

Вот код:
Код
<?php
/**
* @version $Id: pagination.php 10381 2008-06-01 03:35:53Z pasamio $
* @package Joomla
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

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

/**
* This is a file to add template specific chrome to pagination rendering.
*
* pagination_list_footer
* Input variable $list is an array with offsets:
* $list[limit] : int
* $list[limitstart] : int
* $list[total] : int
* $list[limitfield] : string
* $list[pagescounter] : string
* $list[pageslinks] : string
*
* pagination_list_render
* Input variable $list is an array with offsets:
* $list[all]
* [data] : string
* [active] : boolean
* $list[start]
* [data] : string
* [active] : boolean
* $list[previous]
* [data] : string
* [active] : boolean
* $list[next]
* [data] : string
* [active] : boolean
* $list[end]
* [data] : string
* [active] : boolean
* $list[pages]
* [{PAGE}][data] : string
* [{PAGE}][active] : boolean
*
* pagination_item_active
* Input variable $item is an object with fields:
* $item->base : integer
* $item->link : string
* $item->text : string
*
* pagination_item_inactive
* Input variable $item is an object with fields:
* $item->base : integer
* $item->link : string
* $item->text : string
*
* This gives template designers ultimate control over how pagination is rendered.
*
* NOTE: If you override pagination_item_active OR pagination_item_inactive you MUST override them both
*/

function pagination_list_footer($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<div class=\"list-footer\">\n";

$html .= "\n<div class=\"limit\">".JText::_('Display Num').$list['limitfield']."</div>";
$html .= $list['pageslinks'];
$html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>";

$html .= "\n<input type=\"hidden\" name=\"limitstart\" value=\"".$list['limitstart']."\" />";
$html .= "\n</div>";

return $html;
}

function pagination_list_render($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<div class='p-2'>";


if($list['start']['active']) {
$item = explode("&OElig;#&aring;", $list['start']['data']);
$linkStart = $item[0];
$titleStart = $item[1];
$html .= "<span><a href='" . $linkStart . "' title='" . $titleStart . "'><img src='images/vintage/first.png' width='16' height='16' class='correct-png' /></a></span>";
} else {
$titleStart = $list['start']['data'];
$html .= "<span><img src='images/vintage/first0.png' alt='" . $titleStart . "' title='" . $titleStart . "' width='16' height='16' class='correct-png' /></span>";
}


if($list['previous']['active']) {
$item = explode("&OElig;#&aring;", $list['previous']['data']);
$linkPreviouos = $item[0];
$titlePreviouos = $item[1];
$html .= "<span><a href='" . $linkPreviouos . "' title='" . $titlePreviouos . "'><img src='images/vintage/previous.png' width='16' height='16' class='correct-png' /></a></span>";
} else {
$titlePreviouos = $list['previous']['data'];
$html .= "<span><img src='images/vintage/previous0.png' alt='" . $titlePreviouos . "' title='" . $titlePreviouos . "' width='16' height='16' class='correct-png' /></span>";
}


foreach( $list['pages'] as $page )
{

if($page['data']['active']) {
$item = explode("&OElig;#&aring;", $page['data']);
$linkPage = $item[0];
$titlePage = $item[1];
$html .= "<span><a href='" . $linkPage . "' title='" . $titlePage . "'>" .$titlePage. "</a></span>";
} else {
$html .= "<span>" . $page['data'] . "</span>";
}
}


if($list['next']['active']) {
$item = explode("&OElig;#&aring;", $list['next']['data']);
$linkNext = $item[0];
$titleNext = $item[1];
$html .= "<span><a href='" . $linkNext . "' title='" . $titleNext . "'><img src='images/vintage/next.png' width='16' height='16'/></a></span>";
} else {
$titleNext = $list['next']['data'];
$html .= "<span><img src='images/vintage/next0.png' alt='" . $titleNext . "' title='" . $titleNext . "' width='16' height='16' /></span>";
}


if($list['end']['active']) {
$item = explode("&OElig;#&aring;", $list['end']['data']);
$linkEnd = $item[0];
$titleEnd = $item[1];
$html .= "<span><a href='" . $linkEnd . "' title='" . $titleEnd . "'><img src='images/vintage/last.png' width='16' height='16'/></a></span>";
} else {
$titleEnd = $list['end']['data'];
$html .= "<span><img src='images/vintage/last0.png' alt='" . $titleEnd . "' title='" . $titleEnd . "' width='16' height='16' /></span>";
}

$html .= "</div>";

return $html;
}

function pagination_item_active(&$item) {
return $item->link . "&OElig;#&aring;" . $item->text;
}

function pagination_item_inactive(&$item) {
return $item->text;
}
?>
*

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
*

tolyan15

  • Новичок
  • 9
  • 0 / 0
Нашел готовый pagination.php с картинками и вообще легко и удобно настраиваемый для шаблона без необходимости лезть в движок http://vintagemarketing.co.uk/v1/Joomla/icons-on-pagination-for-joomla.html
Можно добавить классы ко всем элементам навигации и тогда делаете так как хотите. Суперская вещь.

Вот код:
Код
<?php
/**
* @version $Id: pagination.php 10381 2008-06-01 03:35:53Z pasamio $
* @package Joomla
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

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

/**
* This is a file to add template specific chrome to pagination rendering.
*
* pagination_list_footer
* Input variable $list is an array with offsets:
* $list[limit] : int
* $list[limitstart] : int
* $list[total] : int
* $list[limitfield] : string
* $list[pagescounter] : string
* $list[pageslinks] : string
*
* pagination_list_render
* Input variable $list is an array with offsets:
* $list[all]
* [data] : string
* [active] : boolean
* $list[start]
* [data] : string
* [active] : boolean
* $list[previous]
* [data] : string
* [active] : boolean
* $list[next]
* [data] : string
* [active] : boolean
* $list[end]
* [data] : string
* [active] : boolean
* $list[pages]
* [{PAGE}][data] : string
* [{PAGE}][active] : boolean
*
* pagination_item_active
* Input variable $item is an object with fields:
* $item->base : integer
* $item->link : string
* $item->text : string
*
* pagination_item_inactive
* Input variable $item is an object with fields:
* $item->base : integer
* $item->link : string
* $item->text : string
*
* This gives template designers ultimate control over how pagination is rendered.
*
* NOTE: If you override pagination_item_active OR pagination_item_inactive you MUST override them both
*/

function pagination_list_footer($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<div class=\"list-footer\">\n";

$html .= "\n<div class=\"limit\">".JText::_('Display Num').$list['limitfield']."</div>";
$html .= $list['pageslinks'];
$html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>";

$html .= "\n<input type=\"hidden\" name=\"limitstart\" value=\"".$list['limitstart']."\" />";
$html .= "\n</div>";

return $html;
}

function pagination_list_render($list)
{
// Initialize variables
$lang =& JFactory::getLanguage();
$html = "<div class='p-2'>";


if($list['start']['active']) {
$item = explode("&OElig;#&aring;", $list['start']['data']);
$linkStart = $item[0];
$titleStart = $item[1];
$html .= "<span><a href='" . $linkStart . "' title='" . $titleStart . "'><img src='images/vintage/first.png' width='16' height='16' class='correct-png' /></a></span>";
} else {
$titleStart = $list['start']['data'];
$html .= "<span><img src='images/vintage/first0.png' alt='" . $titleStart . "' title='" . $titleStart . "' width='16' height='16' class='correct-png' /></span>";
}


if($list['previous']['active']) {
$item = explode("&OElig;#&aring;", $list['previous']['data']);
$linkPreviouos = $item[0];
$titlePreviouos = $item[1];
$html .= "<span><a href='" . $linkPreviouos . "' title='" . $titlePreviouos . "'><img src='images/vintage/previous.png' width='16' height='16' class='correct-png' /></a></span>";
} else {
$titlePreviouos = $list['previous']['data'];
$html .= "<span><img src='images/vintage/previous0.png' alt='" . $titlePreviouos . "' title='" . $titlePreviouos . "' width='16' height='16' class='correct-png' /></span>";
}


foreach( $list['pages'] as $page )
{

if($page['data']['active']) {
$item = explode("&OElig;#&aring;", $page['data']);
$linkPage = $item[0];
$titlePage = $item[1];
$html .= "<span><a href='" . $linkPage . "' title='" . $titlePage . "'>" .$titlePage. "</a></span>";
} else {
$html .= "<span>" . $page['data'] . "</span>";
}
}


if($list['next']['active']) {
$item = explode("&OElig;#&aring;", $list['next']['data']);
$linkNext = $item[0];
$titleNext = $item[1];
$html .= "<span><a href='" . $linkNext . "' title='" . $titleNext . "'><img src='images/vintage/next.png' width='16' height='16'/></a></span>";
} else {
$titleNext = $list['next']['data'];
$html .= "<span><img src='images/vintage/next0.png' alt='" . $titleNext . "' title='" . $titleNext . "' width='16' height='16' /></span>";
}


if($list['end']['active']) {
$item = explode("&OElig;#&aring;", $list['end']['data']);
$linkEnd = $item[0];
$titleEnd = $item[1];
$html .= "<span><a href='" . $linkEnd . "' title='" . $titleEnd . "'><img src='images/vintage/last.png' width='16' height='16'/></a></span>";
} else {
$titleEnd = $list['end']['data'];
$html .= "<span><img src='images/vintage/last0.png' alt='" . $titleEnd . "' title='" . $titleEnd . "' width='16' height='16' /></span>";
}

$html .= "</div>";

return $html;
}

function pagination_item_active(&$item) {
return $item->link . "&OElig;#&aring;" . $item->text;
}

function pagination_item_inactive(&$item) {
return $item->text;
}
?>

Подскажите, куда вставлять :o
*

Iskander

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Подскажите, куда вставлять :o
Думаю, это содержание файла /templates/шаблон/html/pagination.php
*

Junior

  • Новичок
  • 3
  • 0 / 0
Как сделать чтобы при попадании на первую или последнюю страницу убирались << Первая < Предыдущая или  Следующая > Последняя >>    соответственно?
*

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
Находил видео урок по этому вопросу, поищите по поисковикам
*

Junior

  • Новичок
  • 3
  • 0 / 0
Вы имеете ввиду погуглить? Тогда подскажите как вы искали, потому что я не то что видео, я нормальное текстовое описание проблемы даже на английском не нашел, не говоря уже о рунете.

искал что-то типа remove start end from pagenav Joomla 1.5 с разными вариациями. Может плохо искал...

На форуме увидел вот такую тему
http://joomlaforum.ru/index.php/topic,118019.0.html
где-то сродни моей

По ссылке вместо помощи в теме топикстартеру было предложено поискать
Цитировать
...по форуму "pagintaion" или "пагинация".
Темы обсуждались неоднократно.

Облазил все результаты поисков на форуме по этим словам - ничего подходящего нет.

Хотя бы знать в каком месте проверку на текущий номер страницы в пагинации делать, чтобы убирать вышеупомянутые start и end
« Последнее редактирование: 25.01.2011, 17:53:21 от Junior »
*

Junior

  • Новичок
  • 3
  • 0 / 0
Спасибо за помощь. Урок все разжевал до наночастиц  *DRINK*
*

xander kej

  • Захожу иногда
  • 233
  • 3 / 0
  • Keep working
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как выводить в RSS Https ссылки с Ninja RSS Syndicator?

Автор kabban

Ответов: 0
Просмотров: 2816
Последний ответ 08.10.2017, 05:30:53
от kabban
Быстрые ссылки Яндекса и Joomla

Автор askona

Ответов: 5
Просмотров: 5109
Последний ответ 14.07.2017, 13:16:35
от Edward_m
Не отображаются материалы и ссылки на сайте (joomla 1.5)

Автор МарияЛ

Ответов: 1
Просмотров: 2625
Последний ответ 17.03.2017, 20:33:56
от voland
где SEO ссылки хранятся в Joomla ?

Автор knatalik

Ответов: 4
Просмотров: 2255
Последний ответ 07.11.2016, 22:22:57
от altvvc
как изменить вывод постраничной навигации?

Автор maxvolume

Ответов: 36
Просмотров: 23853
Последний ответ 15.04.2015, 12:46:42
от Porox