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

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Добрый день.
Перестал работать lightbox - фото открывается в новом окне.
/components/com_jshopping/files/img_products/full_IM_1_2018_tipogr_oll_str1_isp.png

Зашел проверить в Настройки/ Другие параметры
Включен ли lightbox, включен по выдает ошибку

Цитировать
Error load file: components/com_jshopping/js/jquery/jquery-.min.js

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Не работает lightbox магазина JoomShopping
« Ответ #1 : 20.06.2018, 17:32:48 »
в настройках JoomShopping задайте номер версии jquery, какая у вас установлена (файл components/com_jshopping/js/jquery/jquery-???.min.js)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Не работает lightbox магазина JoomShopping
« Ответ #2 : 20.06.2018, 18:06:46 »
в настройках JoomShopping задайте номер версии jquery, какая у вас установлена (файл components/com_jshopping/js/jquery/jquery-???.min.js)

Версия -jquery-1.6.2.min.js
Версия JoomShopping -Version 3.20.2


Где в настройках указать версию?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Не работает lightbox магазина JoomShopping
« Ответ #3 : 20.06.2018, 18:15:10 »
в настройках JoomShopping
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Не работает lightbox магазина JoomShopping
« Ответ #4 : 20.06.2018, 18:22:13 »
jquery
Может я ослеп, но тут нет, где указать версию.


http://prntscr.com/jx80gb
http://prntscr.com/jx8182
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Не работает lightbox магазина JoomShopping
« Ответ #5 : 20.06.2018, 18:53:58 »
забыл уже как это было в 2.5 Joomla :) вот в этом файле указывается \components\com_jshopping\lib\default_config.php
Код
$config->load_jquery_version = '1.6.2';
только вопрос в том, а кто у вас в нем лазил и зачем?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Не работает lightbox магазина JoomShopping
« Ответ #6 : 20.06.2018, 18:56:19 »
забыл уже как это было в 2.5 Joomla :) вот в этом файле указывается \components\com_jshopping\lib\default_config.php
Код
$config->load_jquery_version = '1.6.2';
только вопрос в том, а кто у вас в нем лазил и зачем?

Странно все стоит http://prntscr.com/jx8g7b.
https://nogti.ua/vspomogatelnye-materialy/zhurnal-iskusstvo-manikyura.html Товар - при нажатие открывается в новом окне.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Не работает lightbox магазина JoomShopping
« Ответ #7 : 20.06.2018, 18:56:50 »
а файл \components\com_jshopping\lib\user_config.php есть?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Не работает lightbox магазина JoomShopping
« Ответ #8 : 20.06.2018, 19:01:56 »
а файл \components\com_jshopping\lib\user_config.php есть?
Такого файла нету, http://prntscr.com/jx8iqa
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Не работает lightbox магазина JoomShopping
« Ответ #9 : 20.06.2018, 19:04:24 »
покажите как у вас выглядит в файле \components\com_jshopping\lib\factory.php function loadJsFiles
Спойлер
[свернуть]
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Не работает lightbox магазина JoomShopping
« Ответ #10 : 20.06.2018, 19:08:29 »
Ошибку устраните яваскрипта
Код
SyntaxError: missing ) after argument list
https://nogti.ua/plugins/system/helix/js/jquery.js
Line 11
*

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Не работает lightbox магазина JoomShopping
« Ответ #11 : 20.06.2018, 19:08:30 »
покажите как у вас выглядит в файле \components\com_jshopping\lib\factory.php function loadJsFiles
Спойлер
[свернуть]


Цитировать
Код
<?php
error_reporting(error_reporting() & ~E_NOTICE);
JTable::addIncludePath(JPATH_ROOT.'/components/com_jshopping/tables');
include_once(JPATH_ROOT."/components/com_jshopping/lib/jtableauto.php");
include_once(JPATH_ROOT."/components/com_jshopping/lib/multilangfield.php");
include_once(JPATH_ROOT."/components/com_jshopping/tables/config.php");
require_once(JPATH_ROOT."/components/com_jshopping/lib/functions.php");
class JSFactory{
    public static function getConfig(){
    static $config;
        if (!is_object($config)){
            JPluginHelper::importPlugin('jshopping');
            $dispatcher = JDispatcher::getInstance();
            $db = JFactory::getDBO();
            $config = new jshopConfig($db);           
            include(dirname(__FILE__)."/default_config.php");
            if (file_exists(dirname(__FILE__)."/user_config.php")) include(dirname(__FILE__)."/user_config.php");
            $dispatcher->trigger('onBeforeLoadJshopConfig', array($config));
            $config->load($config->load_id);
            $config->loadOtherConfig();
            $config->loadCurrencyValue();
            $config->loadFrontLand();
            $config->loadLang();

            list($config->pdf_header_width, $config->pdf_header_height, $config->pdf_footer_width, $config->pdf_footer_height) = explode(":", $config->pdf_parameters);

            if (!$config->allow_reviews_prod){
                unset($config->sorting_products_field_select[5]);
                unset($config->sorting_products_name_select[5]);
                unset($config->sorting_products_field_s_select[5]);
                unset($config->sorting_products_name_s_select[5]);
            }

            if ($config->product_count_related_in_row<1) $config->product_count_related_in_row = 1;

            if ($config->user_as_catalog){
                $config->show_buy_in_category = 0;
            }
            if (!$config->stock){
                $config->hide_product_not_avaible_stock = 0;
                $config->hide_buy_not_avaible_stock = 0;
                $config->hide_text_product_not_available = 1;
                $config->product_list_show_qty_stock = 0;
                $config->product_show_qty_stock = 0;
            }

            if ($config->hide_product_not_avaible_stock || $config->hide_buy_not_avaible_stock){
                $config->controler_buy_qty = 1;
            }else{
                $config->controler_buy_qty = 0;
            }

            $config->display_price_front_current = $config->getDisplayPriceFront();// 0 - Brutto, 1 - Netto

            if ($config->template==""){
                $config->template = "default";
            }

            if ($config->show_product_code || $config->show_product_code_in_cart){
                $config->show_product_code_in_order = 1;
            }else{
                $config->show_product_code_in_order = 0;
            }

            if ($config->admin_show_vendors==0){
                $config->vendor_order_message_type = 0; //0 - none, 1 - mesage, 2 - order if not multivendor
                $config->admin_not_send_email_order_vendor_order = 0;
                $config->product_show_vendor = 0;
                $config->product_show_vendor_detail = 0;
            }
            $config->copyrightText = '';
            if ($config->image_resize_type==0){
                $config->image_cut = 1;
                $config->image_fill = 2;
            }elseif ($config->image_resize_type==1){
                $config->image_cut = 0;
                $config->image_fill = 2;
            }else{
                $config->image_cut = 0;
                $config->image_fill = 0;
            }
            if (!$config->tax){
                $config->show_tax_in_product = 0;
                $config->show_tax_product_in_cart = 0;
                $config->hide_tax = 1;
            }
            if (!$config->admin_show_delivery_time){
                $config->show_delivery_time = 0;
                $config->show_delivery_time_checkout = 0;
                $config->show_delivery_time_step5 = 0;
                $config->display_delivery_time_for_product_in_order_mail = 0;
                $config->show_delivery_date = 0;
            }
            if (!$config->admin_show_product_basic_price){
                $config->cart_basic_price_show = 0;
            }
$config->use_ssl = intval($config->use_ssl);

            $dispatcher->trigger('onLoadJshopConfig', array(&$config));
        }
    return $config;
    }
    public static function getUserShop(){
    static $usershop;
        if (!is_object($usershop)){
            $user = JFactory::getUser();
            $db = JFactory::getDBO();
            require_once(JPATH_ROOT."/components/com_jshopping/tables/usershop.php");
            $usershop = new jshopUserShop($db);
            if ($user->id){
                if (!$usershop->isUserInShop($user->id)){
                    $usershop->addUserToTableShop($user);
                }
                $usershop->load($user->id);
                $usershop->percent_discount = $usershop->getDiscount();
            }else{
                $usershop->percent_discount = 0;
            }
            JDispatcher::getInstance()->trigger('onAfterGetUserShopJSFactory', array(&$usershop));
        }
    return $usershop;
    }

    public static function getUserShopGuest(){
    static $userguest;
        if (!is_object($userguest)){
            require_once(JPATH_ROOT."/components/com_jshopping/models/userguest.php");
            $userguest = new jshopUserGust();
            $userguest->load();
            $userguest->percent_discount = 0;
            JDispatcher::getInstance()->trigger('onAfterGetUserShopGuestJSFactory', array(&$userguest));
        }
    return $userguest;
    }
     public static function getUser(){
        $user = JFactory::getUser();
        if ($user->id){
            $adv_user = JSFactory::getUserShop();
        }else{
            $adv_user = JSFactory::getUserShopGuest();   
        }
    return $adv_user;
    }

    public static function loadCssFiles(){
    static $load;
        $jshopConfig = JSFactory::getConfig();
        if (!$jshopConfig->load_css) return 0;
        if (!$load){
            $document = JFactory::getDocument();
            $jshopConfig = JSFactory::getConfig();
            $document->addStyleSheet(JURI::root().'components/com_jshopping/css/'.$jshopConfig->template.'.css');           
            if (file_exists(JPATH_ROOT.'/components/com_jshopping/css/'.$jshopConfig->template.'.custom.css')){
                $document->addStyleSheet(JURI::root().'components/com_jshopping/css/'.$jshopConfig->template.'.custom.css');
            }
            $load = 1;
        }
    }

    public static function loadJsFiles(){
    static $load;
        if (!$load){
            $jshopConfig = JSFactory::getConfig();
            $document = JFactory::getDocument();
            if ($jshopConfig->load_jquery){
                $document->addScript(JURI::root().'components/com_jshopping/js/jquery/jquery-'.$jshopConfig->load_jquery_version.'.min.js');
$document->addScript(JURI::root().'components/com_jshopping/js/jquery/jquery-noconflict.js');
            }
            if ($jshopConfig->load_javascript){
                $document->addScript(JURI::root().'components/com_jshopping/js/jquery/jquery.media.js');
                $document->addScript(JURI::root().'components/com_jshopping/js/functions.js');
                $document->addScript(JURI::root().'components/com_jshopping/js/validateForm.js');
            }
            $load = 1;
        }
    }

    public static function loadJsFilesRating(){
    static $load;
        if (!$load){
            $jshopConfig = JSFactory::getConfig();
            if ($jshopConfig->load_javascript){
                $document = JFactory::getDocument();
                $document->addScript(JURI::root().'components/com_jshopping/js/jquery/jquery.MetaData.js');
                $document->addScript(JURI::root().'components/com_jshopping/js/jquery/jquery.rating.pack.js');
                $document->addStyleSheet(JURI::root().'components/com_jshopping/css/jquery.rating.css');
            }
            $load = 1;
        }
    }

    public static function loadJsFilesLightBox(){
    static $load;
        $jshopConfig = JSFactory::getConfig();
        if (!$jshopConfig->load_jquery_lightbox) return 0;
        if (!$load){
            $document = JFactory::getDocument();
            $document->addScript(JURI::root().'components/com_jshopping/js/jquery/jquery.lightbox-0.5.pack.js');
            $document->addStyleSheet(JURI::root().'components/com_jshopping/css/jquery.lightbox-0.5.css');
            $document->addScriptDeclaration('function initJSlightBox(){
                jQuery("a.lightbox").lightBox({
                    imageLoading: "'.JURI::root().'components/com_jshopping/images/loading.gif",
                    imageBtnClose: "'.JURI::root().'components/com_jshopping/images/close.gif",
                    imageBtnPrev: "'.JURI::root().'components/com_jshopping/images/prev.gif",
                    imageBtnNext: "'.JURI::root().'components/com_jshopping/images/next.gif",
                    imageBlank: "'.JURI::root().'components/com_jshopping/images/blank.gif",
                    txtImage: "'._JSHOP_IMAGE.'",
                    txtOf: "'._JSHOP_OF.'"
                });
            }
            jQuery(function() { initJSlightBox(); });');
            $load = 1;
        }
    }

public static function reloadConfigFieldTLF(){
$jshopConfig = JSFactory::getConfig();
$reload = array('user_field_client_type','user_field_title','sorting_products_name_select','sorting_products_name_s_select','count_product_select');
foreach($reload as $field){
$tmp = $jshopConfig->$field;
foreach($tmp as $k=>$v){
if (defined($v)) $tmp[$k] = constant($v);
}
$jshopConfig->$field = $tmp;
}
}

    public static function loadLanguageFile($langtag = ""){
        $lang = JFactory::getLanguage();
        if ($langtag==""){
            $langtag = $lang->getTag();
        }
        $langpatch = JPATH_ROOT.'/components/com_jshopping/lang/';       
        if (file_exists($langpatch.'override/'.$langtag.'.php'))
            require_once($langpatch.'override/'.$langtag.'.php');
        if (file_exists($langpatch.$langtag.'.php'))
            require_once($langpatch.$langtag.'.php');
        else
            require_once($langpatch.'en-GB.php');
JSFactory::reloadConfigFieldTLF();
    }

    public static function loadExtLanguageFile($extname, $langtag = ""){
        $lang = JFactory::getLanguage();
        if ($langtag==""){
            $langtag = $lang->getTag();
        }       
        if(file_exists(JPATH_ROOT.'/components/com_jshopping/lang/'.$extname.'/'.$langtag.'.php'))
            require_once(JPATH_ROOT.'/components/com_jshopping/lang/'.$extname.'/'.$langtag.'.php');
        else
            require_once(JPATH_ROOT.'/components/com_jshopping/lang/'.$extname.'/en-GB.php');
    }

    public static function loadAdminLanguageFile($langtag = ""){
        $lang = JFactory::getLanguage();
        if ($langtag==""){
            $langtag = $lang->getTag();
        }
        $langpatch = JPATH_ROOT.'/administrator/components/com_jshopping/lang/';       
        if (file_exists($langpatch.'override/'.$langtag.'.php'))
            require_once($langpatch.'override/'.$langtag.'.php');
        if (file_exists($langpatch.$langtag.'.php'))
            require_once($langpatch.$langtag.'.php');
        else
            require_once($langpatch.'en-GB.php');
JSFactory::reloadConfigFieldTLF();
    }

    public static function loadExtAdminLanguageFile($extname, $langtag = ""){
        $lang = JFactory::getLanguage();
        if ($langtag==""){
            $langtag = $lang->getTag();
        }
        if(file_exists(JPATH_ROOT.'/administrator/components/com_jshopping/lang/'.$extname.'/'.$langtag.'.php'))
            require_once(JPATH_ROOT.'/administrator/components/com_jshopping/lang/'.$extname.'/'.$langtag.'.php');
        else
            require_once(JPATH_ROOT.'/administrator/components/com_jshopping/lang/'.$extname.'/en-GB.php');
    }

    public static function getLang($langtag = ""){
    static $ml;
        if (!is_object($ml) || $langtag!=""){
            $jshopConfig = JSFactory::getConfig();
            $ml = new multiLangField();
            if ($langtag==""){
                $langtag = $jshopConfig->getLang();
            }
            $ml->setLang($langtag);
            JDispatcher::getInstance()->trigger('onAfterGetLangJSFactory', array(&$ml, &$langtag));
        }
    return $ml;
    }

    public static function getReservedFirstAlias(){
    static $alias;
        if (!is_array($alias)){
            jimport('joomla.filesystem.folder');
            $files = JFolder::files(JPATH_ROOT."/components/com_jshopping/controllers");
            $alias = array();
            foreach($files as $file){
                $alias[] = str_replace(".php","", $file);
            }
        }
    return $alias;
    }

    public static function getAliasCategory(){
    static $alias;
        if (!is_array($alias)){
            $db = JFactory::getDBO();
            $lang = JSFactory::getLang();
            $dbquery = "select category_id as id, `".$lang->get('alias')."` as alias from #__jshopping_categories where `".$lang->get('alias')."`!=''";
            $db->setQuery($dbquery);
            $rows = $db->loadObjectList();
            $alias = array();
            foreach($rows as $row){
                $alias[$row->id] = $row->alias;
            }
            unset($rows);
        }
    return $alias;
    }

    public static function getAliasManufacturer(){
    static $alias;
        if (!is_array($alias)){
            $db = JFactory::getDBO();
            $lang = JSFactory::getLang();
            $dbquery = "select manufacturer_id as id, `".$lang->get('alias')."` as alias from #__jshopping_manufacturers where `".$lang->get('alias')."`!=''";
            $db->setQuery($dbquery);
            $rows = $db->loadObjectList();
            $alias = array();
            foreach($rows as $row){
                $alias[$row->id] = $row->alias;
            }
            unset($rows);
        }
    return $alias;
    }

    public static function getAliasProduct(){
    static $alias;
        if (!is_array($alias)){
            $db = JFactory::getDBO();
            $lang = JSFactory::getLang();
            $dbquery = "select product_id as id, `".$lang->get('alias')."` as alias from #__jshopping_products where `".$lang->get('alias')."`!=''";
            $db->setQuery($dbquery);
            $rows = $db->loadObjectList();
            $alias = array();
            foreach($rows as $k=>$row){
                $alias[$row->id] = $row->alias;
                unset($rows[$k]);
            }
            unset($rows);
        }
    return $alias;
    }

    public static function getAllAttributes($resformat = 0){
    static $attributes;
        if (!is_array($attributes)){
            $_attrib = JSFactory::getTable("attribut","jshop");
            $attributes = $_attrib->getAllAttributes();
        }
        if ($resformat==0){
            return $attributes;
        }
        if ($resformat==1){
            $attributes_format1 = array();
            foreach($attributes as $v){
                $attributes_format1[$v->attr_id] = $v;
            }
            return $attributes_format1;
        }
        if ($resformat==2){
            $attributes_format2 = array();
            $attributes_format2['independent']= array();
            $attributes_format2['dependent']= array();
            foreach($attributes as $v){
                if ($v->independent) $key_dependent = "independent"; else $key_dependent = "dependent";
                $attributes_format2[$key_dependent][$v->attr_id] = $v;
            }
            return $attributes_format2;
        }
    }

    public static function getAllUnits(){
    static $rows;
        if (!is_array($rows)){
            $_unit = JSFactory::getTable("unit","jshop");
            $rows = $_unit->getAllUnits();
        }
    return $rows;
    }
   
    public static function getAllTaxesOriginal(){
    static $rows;
        if (!is_array($rows)){
            $_tax = JSFactory::getTable('tax', 'jshop');
            $_rows = $_tax->getAllTaxes();
            $rows = array();
            foreach($_rows as $row){
                $rows[$row->tax_id] = $row->tax_value;
            }
        }
    return $rows;
    }

    public static function getAllTaxes(){
    static $rows;
        if (!is_array($rows)){
            $jshopConfig = JSFactory::getConfig();
            $dispatcher = JDispatcher::getInstance();           
            $_tax = JSFactory::getTable('tax', 'jshop');           
            $rows = JSFactory::getAllTaxesOriginal();
            if ($jshopConfig->use_extend_tax_rule){
                $country_id = 0;
                $adv_user = JSFactory::getUserShop();
                $country_id = $adv_user->country;
                if ($jshopConfig->tax_on_delivery_address && $adv_user->delivery_adress && $adv_user->d_country){
                    $country_id = $adv_user->d_country;
                }
                $client_type = $adv_user->client_type;
                $enter_tax_id = $adv_user->tax_number!="";
                if (!$country_id){
                    $adv_user = JSFactory::getUserShopGuest();
                    $country_id = $adv_user->country;
                    if ($jshopConfig->tax_on_delivery_address && $adv_user->delivery_adress && $adv_user->d_country){
                        $country_id = $adv_user->d_country;
                    }
                    $client_type = $adv_user->client_type;
                    $enter_tax_id = $adv_user->tax_number!="";
                }
                if ($country_id){
                    $_rowsext = $_tax->getExtTaxes();
                    $dispatcher->trigger('beforeGetAllTaxesRowsext', array(&$_rowsext, &$country_id, &$adv_user, &$rows) );
                    foreach($_rowsext as $v){
                        if (in_array($country_id, $v->countries)){
                            if ($jshopConfig->ext_tax_rule_for==1){
                                if ($enter_tax_id){
                                    $rows[$v->tax_id] = $v->firma_tax;
                                }else{
                                    $rows[$v->tax_id] = $v->tax;
                                }   
                            }else{
                                if ($client_type==2){
                                    $rows[$v->tax_id] = $v->firma_tax;
                                }else{
                                    $rows[$v->tax_id] = $v->tax;
                                }
                            }
                        }
                    }
                    $dispatcher->trigger('afterGetAllTaxesRowsext', array(&$_rowsext, &$country_id, &$adv_user, &$rows) );
                    unset($_rowsext);
                }
            }
        $dispatcher->trigger('afterGetAllTaxes', array(&$rows) );
        }
    return $rows;
    }

    public static function getAllManufacturer(){
    static $rows;
        if (!is_array($rows)){
            $db = JFactory::getDBO();
            $lang = JSFactory::getLang();
            $dispatcher = JDispatcher::getInstance();
            $adv_result = "manufacturer_id as id, `".$lang->get('name')."` as name, manufacturer_logo, manufacturer_url";
            $dispatcher->trigger('onBeforeQueryGetAllManufacturer', array(&$adv_result));
            $query = "select ".$adv_result." from #__jshopping_manufacturers where manufacturer_publish='1'";
            $db->setQuery($query);
            $_rows = $db->loadObjectList();
            $rows = array();
            foreach($_rows as $row){
                $rows[$row->id] = $row;
            }
            unset($_rows);
        }
    return $rows;
    }

    public static function getMainVendor(){
    static $row;
        if (!isset($row)){
            $row = JSFactory::getTable('vendor', 'jshop');
            $row->loadMain();
        }
    return $row;
    }

    public static function getAllVendor(){
    static $rows;
        if (!is_array($rows)){
            $db = JFactory::getDBO();
            $query = "select id, shop_name, l_name, f_name from #__jshopping_vendors";
            $db->setQuery($query);
            $_rows = $db->loadObjectList();
            $rows = array();
            $mainvendor = JSFactory::getMainVendor();
            $rows[0] = $mainvendor;
            foreach($_rows as $row){
                $rows[$row->id] = $row;
            }
            unset($_rows);
        }
    return $rows;
    }

    public static function getAllDeliveryTime(){
    static $rows;
        if (!is_array($rows)){
            $db = JFactory::getDBO();
            $lang = JSFactory::getLang();
            $query = "select id, `".$lang->get('name')."` as name from #__jshopping_delivery_times";
            $db->setQuery($query);
            $_rows = $db->loadObjectList();
            $rows = array();
            foreach($_rows as $row){
                $rows[$row->id] = $row->name;
            }
            unset($_rows);
        }
    return $rows;
    }

    public static function getAllDeliveryTimeDays(){
    static $rows;
        if (!is_array($rows)){
            $db = JFactory::getDBO();
            $lang = JSFactory::getLang();
            $query = "select id, days from #__jshopping_delivery_times";
            $db->setQuery($query);
            $_rows = $db->loadObjectList();
            $rows = array();
            foreach($_rows as $row){
                $rows[$row->id] = $row->days;
            }
            unset($_rows);
        }
    return $rows;
    }

    public static function getAllProductExtraField(){
    static $list;
        if (!is_array($list)){
            $productfield = JSFactory::getTable('productfield', 'jshop');
            $list = $productfield->getList();
        }
    return $list;
    }

    public static function getAllProductExtraFieldValue(){
    static $list;
        if (!is_array($list)){
            $productfieldvalue = JSFactory::getTable('productfieldvalue', 'jshop');
            $list = $productfieldvalue->getAllList(1);
        }
    return $list;
    }

    public static function getAllProductExtraFieldValueDetail(){
    static $list;
        if (!is_array($list)){
            $productfieldvalue = JSFactory::getTable('productfieldvalue', 'jshop');
            $list = $productfieldvalue->getAllList(2);
        }
    return $list;
    }

    public static function getDisplayListProductExtraFieldForCategory($cat_id){
    static $listforcat;
        if (!isset($listforcat[$cat_id])){
            $fields = array();
            $list = JSFactory::getAllProductExtraField();
            foreach($list as $val){
                if ($val->allcats){
                    $fields[] = $val->id;
                }else{
                    if (in_array($cat_id, $val->cats)) $fields[] = $val->id;
                }
            }

            $jshopConfig = JSFactory::getConfig();
            $config_list = $jshopConfig->getProductListDisplayExtraFields();
            foreach($fields as $k=>$val){
                if (!in_array($val, $config_list)) unset($fields[$k]);
            }
            $listforcat[$cat_id] = $fields;
        }
    return $listforcat[$cat_id];
    }

    public static function getDisplayFilterExtraFieldForCategory($cat_id){
    static $listforcat;
        if (!isset($listforcat[$cat_id])){
            $fields = array();
            $list = JSFactory::getAllProductExtraField();
            foreach($list as $val){
                if ($val->allcats){
                    $fields[] = $val->id;
                }else{
                    if (in_array($cat_id, $val->cats)) $fields[] = $val->id;
                }
            }
           
            $jshopConfig = JSFactory::getConfig();
            $config_list = $jshopConfig->getFilterDisplayExtraFields();
            foreach($fields as $k=>$val){
                if (!in_array($val, $config_list)) unset($fields[$k]);
            }
            $listforcat[$cat_id] = $fields;
        }
    return $listforcat[$cat_id];
    }

    public static function getAllCurrency(){
    static $list;
        if (!is_array($list)){
            $currency =JSFactory::getTable('currency', 'jshop');
            $_list = $currency->getAllCurrencies();
            $list = array();
            foreach($_list as $row){
                $list[$row->currency_id] = $row;
            }
        }
    return $list;
    }

    public static function getShippingExtList($for_shipping = 0){
    static $list;
        if (!is_array($list)){
            $jshopConfig = JSFactory::getConfig();
            $path = $jshopConfig->path."shippings";
            $shippingext = JSFactory::getTable('shippingext', 'jshop');
            $_list = $shippingext->getList(1);
            $list = array();
            foreach($_list as $row){
                $extname = $row->alias;
                $filepatch = $path."/".$extname."/".$extname.".php";
                if (file_exists($filepatch)){
                    include_once($filepatch);
                    $row->exec = new $extname();
                    $list[$row->id] = $row;
                }else{
                    JError::raiseWarning("",'Load ShippingExt "'.$extname.'" error.');
                }
            }
        }
        if ($for_shipping==0){
            return $list;
        }
        $returnlist = array();
        foreach($list as $row){
            if ($row->shipping_method!=""){
                $sm = unserialize($row->shipping_method);
            }else{
                $sm = array();
            }
            if ($sm[$for_shipping]!=="0"){
                $returnlist[] = $row;
            }
        }
    return $returnlist;
    }
   
    public static function getTable($type, $prefix = 'jshop', $config = array()){
        JDispatcher::getInstance()->trigger('onJSFactoryGetTable', array(&$type, &$prefix, &$config));
        $table = JTable::getInstance($type, $prefix, $config);
        JDispatcher::getInstance()->trigger('onAfterJSFactoryGetTable', array(&$table, &$type, &$prefix, &$config));
        return $table;
    }
   
    public static function getModel($type, $prefix = 'JshoppingModel', $config = array()){
        JDispatcher::getInstance()->trigger('onJSFactoryGetModel', array(&$type, &$prefix, &$config));
        $model = JModel::getInstance($type, $prefix, $config);
        JDispatcher::getInstance()->trigger('onAfterJSFactoryGetModel', array(&$model, &$type, &$prefix, &$config));
        return $model;
    }
   
}
?>

У меня есть, 2 шаблона для товаров - http://prntscr.com/jx8lhd

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Не работает lightbox магазина JoomShopping
« Ответ #12 : 20.06.2018, 19:16:13 »
в файле все правильно. вероятно значит какие то изменения в ядре JoomShopping у вас. есть что-то, что обнуляет версию. можете в этом файле жестко прописать, вы все равно не обновляетесь.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Не работает lightbox магазина JoomShopping
« Ответ #13 : 20.06.2018, 19:18:53 »
в файле все правильно. вероятно значит какие то изменения в ядре JoomShopping у вас. есть что-то, что обнуляет версию. можете в этом файле жестко прописать, вы все равно не обновляетесь.

Если обновить сам JoomShopping , все все товары останутся?
*

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Не работает lightbox магазина JoomShopping
« Ответ #14 : 20.06.2018, 19:21:29 »
Ошибку устраните яваскрипта
Код
SyntaxError: missing ) after argument list
https://nogti.ua/plugins/system/helix/js/jquery.js
Line 11

Проверил, ошибки нету.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Не работает lightbox магазина JoomShopping
« Ответ #15 : 20.06.2018, 19:44:20 »
ну так у вас нет ошибки
Цитировать
Error load file: components/com_jshopping/js/jquery/jquery-.min.js
где вы ее увидели?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Не работает lightbox магазина JoomShopping
« Ответ #16 : 20.06.2018, 19:49:28 »
ну так у вас нет ошибкигде вы ее увидели?
Делаю сохранение  и выдает https://prnt.sc/jx8182
*

Hannibal

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Не работает lightbox магазина JoomShopping
« Ответ #17 : 20.06.2018, 20:03:28 »
Помогла эта фигня JB Library Plugin v2.1.4
Фото открывать в lightbox

Но ошибка, как и показывается дальше
Цитировать
Error load file: components/com_jshopping/js/jquery/jquery-.min.js
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Не работает lightbox магазина JoomShopping
« Ответ #18 : 20.06.2018, 23:06:47 »
вам бы стили поправить для атрибутов а то обложки все смотрятся в куче потеряно
возможно ка кто так http://prntscr.com/jxbl4w

п.с.хотя конечно уж лучше обновлятся... потом править все.
2.5 раритет.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин уведомлений о заказах в телеграмм для JoomShopping

Автор thevaca

Ответов: 0
Просмотров: 2539
Последний ответ 10.11.2025, 14:11:40
от thevaca
WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 26
Просмотров: 38878
Последний ответ 14.10.2025, 12:54:56
от sergeytolkachyov
Не работает lightbox в JoomShopping

Автор d13v555

Ответов: 6
Просмотров: 3810
Последний ответ 08.10.2025, 15:34:46
от kit2m2
Атрибуты полей при оформлении заказа в JoomShopping

Автор goga_pgasovav

Ответов: 1
Просмотров: 3442
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 3916
Последний ответ 22.07.2025, 12:40:12
от heartlink