Новости Joomla

👩‍💻 Компонент "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

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 1500 Просмотров
*

zoxma

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
В шаблоне Helix 3 при написание статей есть такая вкладка "Helix blog options" в ней выбирается формат отображения статьи.
Фото, видео, галерея, цитата и т.д.

Так вот при загрузке изображений если в их наименовании имеются русские символы изображение не отображается.
(Видимо при загрузке фото ему не присваивается новое имя а остается тоже самое. Как тогда заставить присваивать?)


Есть ли какие либо варианты решения этой проблемы?

Кроме варианта переименовывать фото на английский перед загрузкой.
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Ну как бы почти везде пути до файлов и сами файлы на латинице должны быть...
Или это ушло в прошлое?
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

Cedars

  • Давно я тут
  • 585
  • 31 / 0
Было вот такое решение: http://rukodelie-ds.ru/forum/viewtopic.php?t=616 не знаю насколько оно рабочее..
*

zoxma

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Было вот такое решение: http://rukodelie-ds.ru/forum/viewtopic.php?t=616 не знаю насколько оно рабочее..
Не сработало  :( а жаль я прям понадеялся.
А может ли быть такое что эта функция "makeSafe" где то в шаблоне или фреймворке запрятана или наоборот отсутствует там и её нужно добавить?
Может быть где то среди этих файлов www\plugins\system\helix3 ? Но где?
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Так пройдитесь поиском по содержимому файлов
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

zoxma

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Да чет как то не находится.
Однако чутьё ведет меня вот к этому файлу
www\plugins\system\helix3\fields\spimage.php
Вот его код.
Код
<?php
/**
* @package Helix3 Framework
* @author JoomShaper http://www.joomshaper.com
* [member=126442]copyright[/member] Copyright (c) 2010 - 2017 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
*/

//no direct accees
defined ('_JEXEC') or die ('resticted aceess');

class JFormFieldSpimage extends JFormField
{

  protected $type = 'Spimage';

  protected function getInput()
  {
    $doc = JFactory::getDocument();

    JHtml::_('jquery.framework');

    $plg_path = JURI::root(true). '/plugins/system/helix3';
    $doc->addScript($plg_path . '/assets/js/spimage.js');
    $doc->addStyleSheet($plg_path . '/assets/css/spimage.css');

    if($this->value) {
      $class1 = ' hide';
      $class2 = '';
    } else {
      $class1 = '';
      $class2 = ' hide';
    }

    $output  = '<div class="sp-image-field clearfix">';
    $output .= '<div class="sp-image-upload-wrapper">';

    if($this->value) {
      $data_src = $this->value;
      $src = JURI::root(true). '/' . $data_src;

      $basename = basename($data_src);
      $thumbnail = JPATH_ROOT . '/' . dirname($data_src). '/' . JFile::stripExt($basename). '_thumbnail.' . JFile::getExt($basename);

      if(file_exists($thumbnail)) {
        $src = JURI::root(true). '/' . dirname($data_src). '/' . JFile::stripExt($basename). '_thumbnail.' . JFile::getExt($basename);
      }

      $output .= '<img src="'. $src .'" data-src="' . $data_src . '" alt="">';
    }

    $output .= '</div>';

    $output .= '<input type="file" class="sp-image-upload" accept="image/*" style="display:none;">';
    $output .= '<a class="btn btn-info btn-sp-image-upload'. $class1 .'" href="#"><i class="fa fa-plus"></i> Upload Image</a>';
    $output .= '<a class="btn btn-danger btn-sp-image-remove'. $class2 .'" href="#"><i class="fa fa-minus-circle"></i> Remove Image</a>';

    $output .= '<input type="hidden" name="'. $this->name .'" id="' . $this->id . '" value="' . htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8')
    . '"  class="form-field-spimage">';
    $output .= '</div>';

    return $output;
  }
}
Полюбому здесь косяк больше негде (наверно)  ::)
Кто шарит подскажите пожалуйста.
По поводу того какое имя будет у файла в итоге мне не принципиально.
Важно чтобы пользователь при написании статьи мог добавить файл с любым именем.
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Да чет как то не находится.
плохо ищите
http://joxi.ru/8AnE17Ptj8ZMR2
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

zoxma

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Ну поиск какбы всеравно не помог файлов много но они не из шаблона.
сюда бы человечка который разбирается в коде.
Там вот тот код что я поставил там наверно не хватает кода который будет переименовывать файл.
*

zoxma

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Может всётаки ктонибудь поможет а то я уже весь мозг сломал.
Я почти уверен что человек знающий php потратит на это 10 минут а я уже неделю мучаюсь.
Итак к чему я пришел.
Я так понял что загрузка файла реализована php + jQuery AJAX
Вот код
Код
/**
* @package Helix3 Framework
* @author JoomShaper http://www.joomshaper.com
* [member=126442]copyright[/member] Copyright (c) 2010 - 2017 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
*/
jQuery(function($) {

$('.sp-image-field').each(function(index, el) {

var $field = $(el);

// Upload form
$field.find('.btn-sp-image-upload').on('click', function(event) {
event.preventDefault();
$field.find('.sp-image-upload').click();
});

//Upload
$field.find(".sp-image-upload").on('change', (function(e) {
e.preventDefault();
var $this = $(this);
var file = $(this).prop('files')[0];

var data = new FormData();
data.append('option', 'com_ajax');
data.append('plugin', 'helix3');
data.append('action', 'upload_image');
data.append('imageonly', false);
data.append('format', 'json');

if (file.type.match(/image.*/)) {
data.append('image', file);

$.ajax({
type: "POST",
data:  data,
contentType: false,
cache: false,
processData:false,
beforeSend: function() {
$this.prop('disabled', true);
$field.find('.btn-sp-image-upload').attr('disabled', 'disabled');
var loader = $('<div class="sp-image-item-loader"><i class="fa fa-circle-o-notch fa-spin"></i></div>');
$field.find('.sp-image-upload-wrapper').html(loader)
},
success: function(response)
{
var data = $.parseJSON(response);

if(data.status) {
$field.find('.sp-image-upload-wrapper').empty().html(data.output);
} else {
$field.find('.sp-image-upload-wrapper').empty();
alert(data.output);
}

var $image = $field.find('.sp-image-upload-wrapper').find('>img');

if($image.length) {
$field.find('.btn-sp-image-upload').addClass('hide');
$field.find('.btn-sp-image-remove').removeClass('hide');
$field.find('.form-field-spimage').val($image.data('src'));
} else {
$field.find('.btn-sp-image-upload').removeClass('hide');
$field.find('.btn-sp-image-remove').addClass('hide');
$field.find('.form-field-spimage').val('');
}

$this.val('');
$this.prop('disabled', false);
$field.find('.btn-sp-image-upload').removeAttr('disabled');

},
error: function()
{
$field.find('.sp-image-upload-wrapper').empty();
$this.val('');
}
});
}

$this.val('');

}));

});

// Delete Image
$(document).on('click', '.btn-sp-image-remove', function(event) {

event.preventDefault();

var $this = $(this);
var $parent = $this.closest('.sp-image-field');

if (confirm("You are about to permanently delete this item. 'Cancel' to stop, 'OK' to delete.") == true) {
var request = {
'option' : 'com_ajax',
'plugin' : 'helix3',
'action' : 'remove_image',
'src' : $parent.find('.sp-image-upload-wrapper').find('>img').data('src'),
'format' : 'json'
};

$.ajax({
type: "POST",
data   : request,
success: function(response)
{
var data = $.parseJSON(response);
if(data.status) {
$parent.find('.sp-image-upload-wrapper').empty();
$parent.find('.btn-sp-image-upload').removeClass('hide');
$parent.find('.btn-sp-image-remove').addClass('hide');
$parent.find('.form-field-spimage').val('');

} else {
alert(data.output);
}
}
});
}
});

});

Но jQuery вродебы на имя файла не влияет он вроде как "технологии загрузки"
А то что влияет на имя прописывается в php
И как не крути в том самом файле код которого я вставлял в предыдущем сообщении
Если ещё точнее то вот этот код (я так думаю) отвечает за имя
Код
      if($this->value) {
      $data_src = $this->value;
      $src = JURI::root(true). '/' . $data_src;

      $basename = basename($data_src);
      $thumbnail = JPATH_ROOT . '/' . dirname($data_src). '/' . JFile::stripExt($basename). '_thumbnail.' . JFile::getExt($basename);

      if(file_exists($thumbnail)) {
        $src = JURI::root(true). '/' . dirname($data_src). '/' . JFile::stripExt($basename). '_thumbnail.' . JFile::getExt($basename);
      }

      $output .= '<img src="'. $src .'" data-src="' . $data_src . '" alt="">';
    }
Теперь немного аналитики

есть файл image.jpg загружаем его
автоматом создаётся папка: сайт\images\2018\09\17

и в ней появляется 2 изображения
image.jpg и image_thumbnail.jpg

повторная загрузка тогоже самого изображения дает такие имена
image1.jpg и image1_thumbnail.jpg и так далее 2 3 4.

Теперь есть файл изображение.jpg загружаем его
он попадает в туже папку: сайт\images\2018\09\17
в самой папке имя файла выглядит так гташка.jpg и гташка_thumbnail.jpg

на сайте в HTML коде это выглядит так <img src="/images/2018/09/17/изображение.jpg" alt="" itemprop="image">
и соответственно не отображается.

Правда в момент написания этого сообщения у меня в голове промелькнула мысль:
"У меня же сайт на локальном сервере, а сервер этот denwer, a php на нём же старой версии, а вдруг в этом косяк."


Ну и захожу я на тестовый хостинг загружаю там изображение с русским именем и всё отлично загрузилось, имя присвоилось такое /images/2018/09/17/1.jpg

И походу я кароче вообще зря поднял весь кипиш.

 *suicide* *suicide* *suicide*

Вопрос снят.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

OffCanvas меню Helix Ultimate добавить текст к иконке

Автор Andre100

Ответов: 2
Просмотров: 5897
Последний ответ 20.03.2023, 12:42:49
от Andre100
Через модуль html надо вставить три изображения в одну линию (горизонтально)

Автор dionisimuss

Ответов: 10
Просмотров: 2059
Последний ответ 21.12.2022, 20:59:52
от dionisimuss
Helix 3 старается горизонтально размеченные картинки переставить вертикально

Автор olderman

Ответов: 3
Просмотров: 1992
Последний ответ 30.10.2022, 08:59:06
от marksetter
Где настраивается и как убрать Sidebar в Helix Ultimate?

Автор varella

Ответов: 5
Просмотров: 2004
Последний ответ 20.09.2022, 23:12:13
от varella
Helix ultimate 2 вопрос про меню и хедар

Автор Serganius

Ответов: 3
Просмотров: 1785
Последний ответ 21.12.2021, 23:02:51
от Alex_gs