Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Всем привет!
Подскажите пжлс как вывести на странице категории список производителей, чьи товары есть в данной категории.
За ранее спасибо!
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Ну для начала нужно понять куда Вы хотите вывести !!
Если прямо туда где товары - то тогда нужно найти в шаблоне  макет - где выводятся товары !!
И перед перебором товаров нужно их крутануть к примеру forech  и получить информацию о производителях....
а потом подумать как вывести ! - но это уже не так сложно !
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Всем привет!
Подскажите пжлс как вывести на странице категории список производителей, чьи товары есть в данной категории.
За ранее спасибо!
достаточно вывести фильтры в категории (настройки ЖШ)
http://prntscr.com/u7a8d3
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Ну для начала нужно понять куда Вы хотите вывести !!
Если прямо туда где товары - то тогда нужно найти в шаблоне  макет - где выводятся товары !!
И перед перебором товаров нужно их крутануть к примеру forech  и получить информацию о производителях....
а потом подумать как вывести ! - но это уже не так сложно !

Ув. gartes, вы правильно поняли, того как и где нужно вывести http://prntscr.com/u7q0kv
В двух словах опишу скрин, есть категория Пряжа и в ней товары двух производителей. Вот этих двух производителей нужно вывести на странице категории(список товаров категории) над фильтрами, сортировкой, товарами.

Примерно так себе и представлял, что нужно, перебрать товары на производителей, только как правильно это сделать - знаний не хватает((

Буду очень благодарен за любую помощь!
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
доброго времени
сори что поздно и в личку)
не поможете по этой задаче?
Ну - Ок ! Давайте постепенно решать ! (так как многое зависит от самого вашего шаблона ! )
Для Вас задача номер один !
1. создайте в том месте разметку - и просто руками (словами) напишите Manufacture 1 и Manufacture 2
Как вы это сделаете - пишите !!

не всегда могу смотреть почту - можете в скайп ссылки кидать на Ваши сообщения !
Skype : agroparknew (За вопросы по скайпу забаню !! :)  )

*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Ну - Ок ! Давайте постепенно решать ! (так как многое зависит от самого вашего шаблона ! )
Для Вас задача номер один !
1. создайте в том месте разметку - и просто руками (словами) напишите Manufacture 1 и Manufacture 2
Как вы это сделаете - пишите !!

не всегда могу смотреть почту - можете в скайп ссылки кидать на Ваши сообщения !
Skype : agroparknew (За вопросы по скайпу забаню !! :)  )



Спасибо, готово, отписался в лс
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Ок  - Вы молодец !! ))
относительный Путь какой к файлу где правили ?
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Ок  - Вы молодец !! ))
относительный Путь какой к файлу где правили ?

/templates/mytemplate/html/com_jshopping/category/category_default.php
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Не мое дело конечно - но так на заметку
немного некорректно работает поиск !
в URL результатов поиска отсутствует само поисковое слово !
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Не мое дело конечно - но так на заметку
немного некорректно работает поиск !
в URL результатов поиска отсутствует само поисковое слово !

Спасибо, потом будем смотреть)
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Код
$manufacturer = \JTable::getInstance('manufacturer', 'jshop');
foreach ( $this->rows as $i => $row )
{
    $manufacturer->load( $row->manufacturer->id  );
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->manufacturer->id);

    # Наверное так путь к картинке но тут я не уверен !
    //    $manufacturer->manufacturer_logo

    ?>
    <h3>
        <a href="<?= $href ?>">
            <?= $manufacturer->getName()?>
        </a>
    </h3>
    <?php
}#END FOREACH
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Код
$manufacturer = \JTable::getInstance('manufacturer', 'jshop');
foreach ( $this->rows as $i => $row )
{
    $manufacturer->load( $row->manufacturer->id  );
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->manufacturer->id);

    # Наверное так путь к картинке но тут я не уверен !
    //    $manufacturer->manufacturer_logo

    ?>
    <h3>
        <a href="<?= $href ?>">
            <?= $manufacturer->getName()?>
        </a>
    </h3>
    <?php
}#END FOREACH

Спасибо большое, в целом получилось!
Только теперь дублируются производители, думаю всех товаров на странице. http://prntscr.com/u8jr42
Так как на каждой страницы пагинации разное количество http://prntscr.com/u8jrpl

*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Только теперь дублируются производители,
Код

$manufacturer = \JTable::getInstance('manufacturer', 'jshop');
$manufacturerHistoty = [] ;
foreach ( $this->rows as $i => $row )
{
    if ( in_array( $row->manufacturer->id , $manufacturerHistoty )) continue ; #END IF
    $manufacturerHistoty[] = $row->manufacturer->id
    $manufacturer->load( $row->manufacturer->id  );
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->manufacturer->id);

    # Наверное так путь к картинке но тут я не уверен !
    //    $manufacturer->manufacturer_logo

    ?>
    <h3>
        <a href="<?= $href ?>">
            <?= $manufacturer->getName()?>
        </a>
    </h3>
    <?php
}#END FOREACH
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Код

$manufacturer = \JTable::getInstance('manufacturer', 'jshop');
$manufacturerHistoty = [] ;
foreach ( $this->rows as $i => $row )
{
    if ( in_array( $row->manufacturer->id , $manufacturerHistoty )) continue ; #END IF
    $manufacturerHistoty[] = $row->manufacturer->id
    $manufacturer->load( $row->manufacturer->id  );
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->manufacturer->id);

    # Наверное так путь к картинке но тут я не уверен !
    //    $manufacturer->manufacturer_logo

    ?>
    <h3>
        <a href="<?= $href ?>">
            <?= $manufacturer->getName()?>
        </a>
    </h3>
    <?php
}#END FOREACH

Почти супер)
Только если на странице товары одного производителя, то не выводятся остальные производители.
Первая страница пагинации http://prntscr.com/u8jxo1
Вторая страница пагинации http://prntscr.com/u8jxw9
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Почти супер)
А так ? )
Код

    $app = \Joomla\CMS\Factory::getApplication();
    $db = \Joomla\CMS\Factory::getDbo();
    $lang =   JSFactory::getLang();
    $category_id = $app->input->get('category_id' , false , 'INT') ;

    $Query = $db->getQuery(true);
    $select = [
//        $db->quoteName( 'm.'.$lang->get('name'))
        $db->quoteName( 'cat_map.product_id'),
        $db->quoteName( 'p.product_manufacturer_id'),
        $db->quoteName( 'm.manufacturer_id'),
        $db->quoteName( 'm.manufacturer_logo'),
        'm.' . $db->quoteName( $lang->get('name') ),

    ] ;
    $Query->select($select);
    $Query->from($db->quoteName( '#__jshopping_products_to_categories' , 'cat_map' ));
    $Query->leftJoin( $db->quoteName( '#__jshopping_products' , 'p' ). ' ON ' . $db->quoteName( 'cat_map.product_id').'='. $db->quoteName( 'p.product_id') );
    $Query->leftJoin( $db->quoteName( '#__jshopping_manufacturers' , 'm' ). ' ON ' . $db->quoteName( 'p.product_manufacturer_id').'='. $db->quoteName( 'm.manufacturer_id') );
    $whereArr = [
        $db->quoteName('category_id'). '='. $category_id ,
    ];
    $Query->where($whereArr);
    $Query->group( $db->quoteName( 'm.manufacturer_id') ) ;
    $db->setQuery($Query);
    $res = $db->loadObjectList();

    foreach ( $res as $i => $row )
    {

        $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->product_manufacturer_id  );

        # Наверное так путь к картинке но тут я не уверен !
        //    $manufacturer->manufacturer_logo

        ?>
        <h3>
            <a href="<?= $href ?>">
                <?= $row->{ $lang->get('name') } ?>
            </a>
        </h3>
        <?php
    }#END FOREACH
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
А так ? )
Код

    $app = \Joomla\CMS\Factory::getApplication();
    $db = \Joomla\CMS\Factory::getDbo();
    $lang =   JSFactory::getLang();
    $category_id = $app->input->get('category_id' , false , 'INT') ;

    $Query = $db->getQuery(true);
    $select = [
//        $db->quoteName( 'm.'.$lang->get('name'))
        $db->quoteName( 'cat_map.product_id'),
        $db->quoteName( 'p.product_manufacturer_id'),
        $db->quoteName( 'm.manufacturer_id'),
        $db->quoteName( 'm.manufacturer_logo'),
        'm.' . $db->quoteName( $lang->get('name') ),

    ] ;
    $Query->select($select);
    $Query->from($db->quoteName( '#__jshopping_products_to_categories' , 'cat_map' ));
    $Query->leftJoin( $db->quoteName( '#__jshopping_products' , 'p' ). ' ON ' . $db->quoteName( 'cat_map.product_id').'='. $db->quoteName( 'p.product_id') );
    $Query->leftJoin( $db->quoteName( '#__jshopping_manufacturers' , 'm' ). ' ON ' . $db->quoteName( 'p.product_manufacturer_id').'='. $db->quoteName( 'm.manufacturer_id') );
    $whereArr = [
        $db->quoteName('category_id'). '='. $category_id ,
    ];
    $Query->where($whereArr);
    $Query->group( $db->quoteName( 'm.manufacturer_id') ) ;
    $db->setQuery($Query);
    $res = $db->loadObjectList();

    foreach ( $res as $i => $row )
    {

        $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->product_manufacturer_id  );

        # Наверное так путь к картинке но тут я не уверен !
        //    $manufacturer->manufacturer_logo

        ?>
        <h3>
            <a href="<?= $href ?>">
                <?= $row->{ $lang->get('name') } ?>
            </a>
        </h3>
        <?php
    }#END FOREACH

Теперь все хорошо, только лого производителя пропало http://prntscr.com/u8kj56
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
В обще в цикле там такой объект
Код
[0] => stdClass Object
        (
            [product_id] => 33463
            [product_manufacturer_id] =>
            [manufacturer_id] =>
            [manufacturer_logo] =>
            [name_ru-RU] =>
        )
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
$row->manufacturer_logo

Теперь все супер http://prntscr.com/u8knri
Огромнейшее спасибо!
Плюсую в карму!
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Возможно кому-то пригодится, готовое решение!
Спасибо gartes

В файл /templates/mytemplate/html/com_jshopping/category/category_default.php в нужном месте вставляем код ниже(разметку\стили делаем свои):
Код

<div class="cat-manufacture">
<?php
    $app = \Joomla\CMS\Factory::getApplication();
    $db = \Joomla\CMS\Factory::getDbo();
    $lang =   JSFactory::getLang();
    $category_id = $app->input->get('category_id' , false , 'INT') ;

    $Query = $db->getQuery(true);
    $select = [
        $db->quoteName( 'cat_map.product_id'),
        $db->quoteName( 'p.product_manufacturer_id'),
        $db->quoteName( 'm.manufacturer_id'),
        $db->quoteName( 'm.manufacturer_logo'),
        'm.' . $db->quoteName( $lang->get('name') ),
    ] ;
    $Query->select($select);
    $Query->from($db->quoteName( '#__jshopping_products_to_categories' , 'cat_map' ));
    $Query->leftJoin( $db->quoteName( '#__jshopping_products' , 'p' ). ' ON ' . $db->quoteName( 'cat_map.product_id').'='. $db->quoteName( 'p.product_id') );
    $Query->leftJoin( $db->quoteName( '#__jshopping_manufacturers' , 'm' ). ' ON ' . $db->quoteName( 'p.product_manufacturer_id').'='. $db->quoteName( 'm.manufacturer_id') );
    $whereArr = [
        $db->quoteName('category_id'). '='. $category_id ,
    ];
    $Query->where($whereArr);
    $Query->group( $db->quoteName( 'm.manufacturer_id') ) ;
    $db->setQuery($Query);
    $res = $db->loadObjectList();

    foreach ( $res as $i => $row ) {
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->product_manufacturer_id  ); ?>
<div class="cat-manufacture-item">
<a href="<?= $href ?>">
<img src="/components/com_jshopping/files/img_manufs/<?= $row->manufacturer_logo?>" alt="<?= $row->{ $lang->get('name') } ?> фото">
</a>
<p><?= $row->{ $lang->get('name') } ?></p>
</div>
    <?php } ?>

</div>
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
закомандовал сделать такое же на странице производителя, не подскажете как поправить этот код!?
))) Всем хорошего Дня !!
А в чем трабла ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 26
Просмотров: 38874
Последний ответ 14.10.2025, 12:54:56
от sergeytolkachyov
JoomShopping, вывод всех категории к которым принадлежит товар

Автор Valent777

Ответов: 12
Просмотров: 3536
Последний ответ 01.11.2024, 14:57:28
от kit2m2
Дополнительные поля для категории JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 2182
Последний ответ 07.07.2024, 08:43:15
от nevigen
Вывести название категории в списке товаров

Автор ataman

Ответов: 9
Просмотров: 5031
Последний ответ 15.09.2023, 20:31:11
от Alex_gs
Отображения описании категории только на первой странице

Автор graf

Ответов: 5
Просмотров: 1813
Последний ответ 04.05.2023, 18:52:08
от kit2m2