Новости Joomla

SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам создания кастомных схем данных для сервера обновлений.

v.2.6.1. Что нового?

  • Правки наследования схем серверов обновлений. Улучшена логика наследования схем серверов обновлений для проектов компонент - категория - проект.
  • Не стабильные релизы в сервере обновлений. Теперь в данные сервера обновлений попадают все версии (alpha, beta и т.д.), а не только stable.
  • Косметические изменения. В шаблоне по умолчанию сделаны замены некоторых CSS-классов, уточнено присвоение атрибутов loading=lazy и fetchpriority.
  • Рефакторинг и правки кода. Текущее обновление кодовой базы.
  • Исправление ошибок.

Больше спасибо за помощь в тестировании участникам нашего сообщества Александру Новикову (@pro_portal) и Александру Судьбинову (@alexrevo).

Событие Pizza, Bugs & Fun - 29-30 января 2026 года.

Событие Pizza, Bugs & Fun  - 29-30  января 2026 года.

Уже несколько лет в мире Joomla проводятся мероприятия "Pizza, Bugs & Fun" (#PBF), где каждый может посвятить несколько часов своего мозгового времени тому, чтобы наша любимая CMS стала ближе к идеалу.

Ссылки на видео и статьи из этого поста рассказывает об организационных вопросах, которые пригодятся для участия в PBF, а так же что и как делать.

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

Каждый помогает тем, что он умеет:

  • кто-то пишет недостающую документацию,
  • кто-то пишет код,
  • кто-то тестирует как исправлены ошибки или сделан новый функционал.

На сайте события есть карта, можно "захостить" свою локацию. Практически все движки в мире развиваются за счёт спонсирующих их компаний. Joomla одна из немногих, где развитие идёт только усилиями международного сообщества энтузиастов.

https://www.youtube.com/watch?v=a-FuVKXg_Uw 

На момент написания данного поста в репозитории Joomla 810 открытых Issue (как правило это баги) и 236 Pull request (PR, исправление багов и новый функционал). Все PR обязательно тестируются минимум двумя участниками сообщества, дабы в конечный код движка не проскочила ошибка.

Если каждый из участников только нашего сообщества сделает даже одно тестирование, то, боюсь, PR и Issue на всех не хватит 😀 И ничего не останется нашим коллегам из международных Joomla-чатов.

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

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Здравствуйте, есть свой компонент, встал вопрос подключения пагинатора, подключил значит, и вижу вот такие вот урлы MySite/catalog?alias=CatName&start=0 вот "?alias=" то что в кавычках, это лишнее, как можно удалить?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
это скорее вопрос вашего роутера, а не пагинатора
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
покажите router.php из вашего компонента
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Здравствуйте, есть свой компонент, встал вопрос подключения пагинатора, подключил значит, и вижу вот такие вот урлы MySite/catalog?alias=CatName&start=0 вот "?alias=" то что в кавычках, это лишнее, как можно удалить?

Это GET-запросы к вашему плагинатору, без них работать не будет. Но можно эту штуку замаскировать, используя JavaScript. Написать вам код?
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
покажите router.php из вашего компонента
Код
<?php
defined( '_JEXEC' ) or die; // No direct access

function CatalogBuildRoute( &$query )
{
$segments = array();
if ( isset( $query['view'] ) ) {
$segments[] = $query['view'];
unset( $query['view'] );
}
if ( isset( $query['task'] ) ) {
$segments[] = $query['task'];
unset( $query['task'] );
}
    if (isset($query['id'])) {
        $segments[] = $query['id'];
        unset($query['id']);
    }
    if (isset($query['uid'])) {
        $segments[] = $query['uid'];
        unset($query['uid']);
    }
    if (isset($query['category'])) { // по аналогии с вышестоящим
        $segments[] = $query['category'];
        unset($query['category']);
    }
if ( isset( $query['limitstart'] ) ) {
unset( $query['limitstart'] );
}

return $segments;
}

function CatalogParseRoute( $segments ) {

    $id = (int)JRequest::getVar('id');
    $count = count( $segments );

    $vars = array();

    if ( $count == 1 ) {

        $db = JFactory::getDbo();
        $vars['alias'] = substr($segments[0], strpos('_', $segments[0])+0);
        $vars['filter'] = $segments[1];
        $vars['start'] = $segments[1];

        $alias = str_replace(":","-",$vars['alias']);

        //Проверка на существующий ID карты товара
        $db->setQuery("SELECT id FROM #__categories WHERE alias = '{$alias}' ");
        $db->query();
        $testObject = $db->loadObject();

        if ($testObject->id == null){
            require_once ($_SERVER['DOCUMENT_ROOT']."/cli/err404.php"); echo $html; die();
        }
        //Проверка на существующий ID карты товара
    }

    if ( $count == 2 ) {

        $db = JFactory::getDbo();
        $vars['id'] = $segments[1];

        //Проверка на существующий ID карты товара
        $db->setQuery("SELECT id FROM #__main_catalog WHERE id =".$vars['id']);
        $db->query();
        $testObject = $db->loadObject();
        if ($testObject->id == null){
            require_once ($_SERVER['DOCUMENT_ROOT']."/cli/err404.php"); echo $html; die();
        }
        //Проверка на существующий ID карты товара
    }



    return $vars;
}
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Это GET-запросы к вашему плагинатору, без них работать не будет. Но можно эту штуку замаскировать, используя JavaScript. Написать вам код?
Вот так работает
Код
/catalog/rezki_co2?&start=12
а вот так
Код
/catalog?alias=rezki_co2&start=12
не работает вот я и хочу заменить "?alias=rezki_co2" на слеш.
*

Physicist

  • Глобальный модератор
  • 984
  • 194 / 0
  • Рябов Денис
Скорее всего, параметр alias уже фигурирует при вызове JRoute::_(...), а CatalogBuildRoute его никак не обрабатывает и оставляет "как есть" (хотя, судя по CatalogParseRoute, подозреваю, что он должен добавляться в первый сегмент после знака подчеркивания).
*

sivers

  • Живу я здесь
  • 2603
  • 361 / 0
не работает вот я и хочу заменить "?alias=rezki_co2" на слеш.
ну так добавьте обработку алиаса в CatalogBuildRoute:
Код
    if (isset($query['alias'])) {
        $segments[] = $query['alias'];
        unset($query['alias']);
    }
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
ну так добавьте обработку алиаса в CatalogBuildRoute:
Код
    if (isset($query['alias'])) {
        $segments[] = $query['alias'];
        unset($query['alias']);
    }
Спасибо, все заработало.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Обработка AJAX в компоненте Joomla!3

Автор balancer

Ответов: 33
Просмотров: 12240
Последний ответ 23.07.2020, 07:45:53
от Dolphin4ik_1
Не видится файлы языкового пакета в созданном компоненте

Автор khachatur86

Ответов: 0
Просмотров: 1881
Последний ответ 30.03.2019, 23:35:26
от khachatur86
Стандартная система рейтингов в custom компоненте

Автор platonische

Ответов: 1
Просмотров: 1084
Последний ответ 12.02.2019, 16:55:03
от platonische
Изменения id для отображения названия в компоненте Joomla

Автор ice77

Ответов: 69
Просмотров: 5446
Последний ответ 21.05.2018, 17:32:46
от ice77
[Решено] Сотрировка drag-n-drop в компоненте в админке

Автор BakeevDR

Ответов: 9
Просмотров: 1838
Последний ответ 21.11.2017, 13:24:38
от BakeevDR