Форум русской поддержки Joomla!® CMS
08.12.2016, 04:08:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

product.php для VM 3.0.4 (Cherry Picker 3.7)

 (Прочитано 1144 раз)
0 Пользователей и 1 Гость смотрят эту тему.
CrazyPedro
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 14


Только Учусь


« : 06.03.2015, 14:27:19 »

Подскажите есть у кого product.php для VM 3.0.4  (Cherry Picker 3.7) Или инструкция, с ног сбился не могу найти.
Извините если не туда тему оформил!
Записан
alexfom_16
Давно я тут
****

Репутация: +24/-0
Offline Offline

Сообщений: 257


« Ответ #1 : 06.03.2015, 14:32:44 »

http://www.galt.md/news/cherry-picker-and-virtuemart-3
Записан
Carlsson
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #2 : 23.04.2015, 17:18:56 »

У меня такое же сочетание. Не могу понять, вроде для VM 3 уже ничего менять не надо. Но вот для CP не понятно...на сайте написано начиная с 3.8, а значит 3.7 надо как то подружить с VM 3.
Записан
garabec
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #3 : 12.10.2015, 13:12:13 »

Та же фигня.
Если стоит Cherry Picker Product Types версией ДО 3.8, то нужно вносить правки в файл  product.php
Включить фильтрацию по цене получается. А запустить фильтрацию по полям фильтра не получается.
Записан
garabec
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #4 : 16.10.2015, 19:33:21 »

Короче есть решение!
у меня, по крайней мере, работает:
Нужно внести изминения в файл
/administrator/components/com_virtuemart/models/product.php

После кода:
               $joinShopper = TRUE;
            }
         }
Вставляем:
// galt: begin edit 1 of 6
         $additionalTableJoins = '';
         $useDefaultVMManufacturers = true;
         if ((isset($isSite) && $isSite) || $app->isSite()) {
            $cp_added_prices = false;
            // ----------------------------------
            // Cherry Picker Product Types 3
            // ----------------------------------
            $cpProductTypesHelper = JPATH_BASE .'/modules/mod_vm_cherry_picker/helpers/vmFilterProcessor.php';
            if (file_exists($cpProductTypesHelper)) {
               require_once($cpProductTypesHelper);
               $prices = VMFilterProcessorPT::getPriceSelection();
               if ($prices) {
                  // New, more sophisticated way to search by prices
                  if (is_array($prices)) {
                     $additionalTableJoins .= ' '. $prices['join'];
                     $where[] = $prices['where'];
                     if ($prices['join_manufacturers'])
                        $joinMf = true;
                  } else {
                     $where[] = $prices;
                  }

                  $joinPrice = true;
                  $cp_added_prices = true;
               }

               $filtersData = VMFilterProcessorPT::getFilterSelection();
               if ($filtersData) {
                  $where[] = $filtersData['where'];
                  $additionalTableJoins .= ' '. $filtersData['join'];

                  //$_SESSION['pt_filters_where'] = $filtersData['where'];
                  //$_SESSION['pt_filters_join'] = $filtersData['join'];
               } else {
                  //$_SESSION['pt_filters_where'] = null;
                  //$_SESSION['pt_filters_join'] = null;
               }

               if (method_exists('VMFilterProcessorPT', 'getManufacturersSelection')) {
                  $manufacturers = VMFilterProcessorPT::getManufacturersSelection();
                  if ($manufacturers) {
                     $where[] = $manufacturers;
                     $joinMf = true;
                     $useDefaultVMManufacturers = false;
                  }
               }
            }


            // ----------------------------------
            // Cherry Picker Custom Fields 2
            // ----------------------------------
            $cpCustomFieldsHelper = JPATH_BASE .'/modules/mod_vm_cherry_picker_cf/helpers/vmFilterProcessor.php';
            if (file_exists($cpCustomFieldsHelper)) {
               require_once($cpCustomFieldsHelper);
               // If there are CF and PT versions of CP on page, process prices just once
               if ( !$cp_added_prices && ($prices = VMFilterProcessorCF::getPriceSelection())) {
                  // New, more sophisticated way to search by prices
                  if (is_array($prices)) {
                     $additionalTableJoins .= ' '. $prices['join'];
                     $where[] = $prices['where'];
                     if ($prices['join_manufacturers'])
                        $joinMf = true;
                  } else {
                     $where[] = $prices;
                  }
                  $joinPrice = true;
               }

               $join = VMFilterProcessorCF::getFilterSelection();
               if ($join)
                  $additionalTableJoins .= ' '. $join;
               //$_SESSION['cf_filters_join'] = $join;
               // If manufacturers weren't processed by PT version
               if ($useDefaultVMManufacturers &&
                  method_exists('VMFilterProcessorCF', 'getManufacturersSelection')) {
                  $manufacturers = VMFilterProcessorCF::getManufacturersSelection();
                  if ($manufacturers) {
                     $where[] = $manufacturers;
                     $joinMf = true;
                     $useDefaultVMManufacturers = false;
                  }
               }
            }
         }
         // galt: end edit 1

         // galt: edit 2 of 6
         // We use Cherry Picker's method for front-end as it is able
         // to manage multiple Manufacturers selection
         if ($this->virtuemart_manufacturer_id && $useDefaultVMManufacturers) {
            $joinMf = true ;
            $where[] = ' `#__virtuemart_product_manufacturers`.`virtuemart_manufacturer_id` = '.$this->virtuemart_manufacturer_id;
         }

ПЕРЕД
if (count ($where) > 0) {
         $whereString = ' WHERE (' . implode ("\n AND ", $where). ') ';
      }
вставляем:
      // galt: edit 3 of 6
      // Include additional table JOINs
      if ($additionalTableJoins)
         $joinedTables[] = ' '. $additionalTableJoins;
      // galt: end edit 3
всего три вставки.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet