Joomla 3.x Вывести в модуле товары из категории совпадающей с title страницы

Тема в разделе "Хаки и модификации", создана пользователем OlegK, 04.12.2020.

  1. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 812
    Симпатии:
    771
    Пол:
    Мужской
    Правки в стандартном модуле Вирт, при обновлении перезапишется . Выводит товары из категории и подкатегории.и без фильтрации по группе.
    Код (PHP):
    1. $productModel = VmModel::getModel('Product');
    2.  // Start OlegK
    3. $doc = JFactory::getDocument();
    4. $current_title = $doc->getTitle();
    5. $db = JFactory::getDbo();
    6.                
    7.                 $query = $db
    8.                     ->getQuery(true)
    9.                     ->select('virtuemart_category_id')
    10.                     ->from($db->quoteName('#__virtuemart_categories_ru_ru'))
    11.                     ->where($db->quoteName('category_name') . " = " . $db->quote($current_title));
    12.                 $db->setQuery($query);
    13.                 $category_id = !empty($db->loadResult()) ? $db->loadResult() : $category_id;
    14.                 $Product_group = false;
    15. VmConfig::set('show_subcat_products',true);
    16. /*if($cache and $Product_group!='recent'){
    17.     vmdebug('Use cache for mod products');
    18.     //$key = 'products'.$category_id.'.'.$max_items.'.'.$filter_category.'.'.$display_style.'.'.$products_per_row.'.'.$show_price.'.'.$show_addtocart.'.'.$Product_group.'.'.$virtuemart_currency_id.'.'.$category_id.'.'.$filter_manufacturer.'.'.$manufacturer_id;
    19.     $cache    = VmConfig::getCache('mod_virtuemart_product');
    20.     $cache->setCaching(1);
    21.     $cache->setLifeTime($cachetime);
    22.     $products = $cache->call( array( 'VirtueMartModelProduct', 'getProductsListing' ),$Product_group, $max_items, $show_price, true, false,$filter_category, $category_id, $filter_manufacturer, $manufacturer_id, $params->get( 'omitLoaded', 0));
    23.     if ($products) {
    24.         vmdebug('Use cached mod products');
    25.     }
    26. }*/
    27. // End OlegK
    28. if(!$products){
    Запрос на получение родительской категории
    Код (PHP):
    1. $query = $db
    2.                     ->getQuery(true)
    3.                     ->select($db->quoteName('vc.category_parent_id'))
    4.                     ->from($db->quoteName('#__virtuemart_categories', 'vc'))
    5.                     ->join('INNER', $db->quoteName('#__virtuemart_categories_ru_ru', 'rc'). '  ON ' . $db->quoteName('rc.virtuemart_category_id'). ' = ' . $db->quoteName('vc.virtuemart_category_id'))
    6.                     ->where($db->quoteName('rc.category_name'). " = " . $db->quote($current_title));
    7.                 $db->setQuery($query);
    8.                 $category_id = !empty($db->loadResult())? $db->loadResult() : $category_id;
     

    Вложения:

  2.  

Поделиться этой страницей

Загрузка...