sol_los
Мой дом здесь!
- Регистрация
 - 17 Окт 2011
 
- Сообщения
 - 424
 
- Реакции
 - 279
 
- Автор темы
 - #1
 
Набросал тут модуль для статических цен товара
Для чего нужен:
когда нужно товару сделать в каждой валюте красивую уникальную цену, а магазин только пересчитывает из валюты по умолчанию через курс.
да я знаю что есть модули округляющие цены до десятичных типа 10.99$ - но когда у вас отключены десятичные, да и вообще вы хотите иметь несколько разные цены в разных валютах - здесь поможет этот модуль.
картинка - как выглядит внутри:
 
Я не большой специалист по Prestashop - не могу точно знать как правильно переопределять методы, потому будет небольшая инструкция ну и прикрепленный файлик, для ленивых.
устанавливаем модуль - открываем товар - назначаем цены. (не забываем, что в магазине цены хранятся без НДС - с НДС это лишь для наглядности) - сохраняем продукт.
теперь переходим к ftp в папку /override/classes
если у вас уже есть файл Product.php:
- открывайте его и ищите есть ли в нем функция public static function priceCalculation
- если есть - вам необходимо найти в ней секцию
	
	
	
		
и добавить ПЕРЕД ней
	
	
	
		
- далее найти 
	
	
	
		
и добавить перед ней
	
	
	
		
-далее найти
	
	
	
		
и заменить на 
	
	
	
		
- для тех у кого есть файл Product.php но в нем нет метода public static function priceCalculation
откройте прикрепленный файл Product.php и скопируйте public static function priceCalculation
для тех у кого нет файла Product.php - можете просто распаковать прикрепленный и залить в папку /override/classes
не забываем, в пункте Производительность, чистить кеш
	
		
			
		
		
	
				
			Для чего нужен:
когда нужно товару сделать в каждой валюте красивую уникальную цену, а магазин только пересчитывает из валюты по умолчанию через курс.
да я знаю что есть модули округляющие цены до десятичных типа 10.99$ - но когда у вас отключены десятичные, да и вообще вы хотите иметь несколько разные цены в разных валютах - здесь поможет этот модуль.
картинка - как выглядит внутри:
 Я не большой специалист по Prestashop - не могу точно знать как правильно переопределять методы, потому будет небольшая инструкция ну и прикрепленный файлик, для ленивых.
устанавливаем модуль - открываем товар - назначаем цены. (не забываем, что в магазине цены хранятся без НДС - с НДС это лишь для наглядности) - сохраняем продукт.
теперь переходим к ftp в папку /override/classes
если у вас уже есть файл Product.php:
- открывайте его и ищите есть ли в нем функция public static function priceCalculation
- если есть - вам необходимо найти в ней секцию
		PHP:
	
	 if (Combination::isFeatureActive()) {
                $sql->select('IFNULL(product_attribute_shop.id_product_attribute,0) id_product_attribute, product_attribute_shop.`price` AS attribute_price, product_attribute_shop.default_on');
                $sql->leftJoin('product_attribute_shop', 'product_attribute_shop', '(product_attribute_shop.id_product = p.id_product AND product_attribute_shop.id_shop = '.(int)$id_shop.')');
            } else {
                $sql->select('0 as id_product_attribute');
            }
	
		PHP:
	
	            /*Add Sql multistaticprice module*/
            $sql->select('mps.`price` as multi_price');           
            $sql->leftJoin('multipricestatic', 'mps' ,'mps.`id_shop` = ' .(int)$id_shop.' AND mps.`id_product` = ' .(int)$id_product . ' AND mps.`id_currency` = '.(int)$id_currency);
           /*END Add Sql multistaticprice module*/
	
		PHP:
	
	                        'price' => ($row['multi_price']) ? $row['multi_price'] : $row['price'],
                        'ecotax' => $row['ecotax'],
                        'attribute_price' => (isset($row['attribute_price']) ? $row['attribute_price'] : null)
	и добавить перед ней
		PHP:
	
	                        /*Add value multistaticprice module*/
                        'multi_price_static' => $row['multi_price'],
                        /*END Add value multistaticprice module*/
	
		PHP:
	
	$price = Tools::convertPrice($price, $id_currency);
	
		PHP:
	
	            /*If value multistaticprice module*/
            if($result['multi_price_static'] == null){               
                $price = Tools::convertPrice($price, $id_currency);                   
            }        
            /*End If value multistaticprice module*/
	- для тех у кого есть файл Product.php но в нем нет метода public static function priceCalculation
откройте прикрепленный файл Product.php и скопируйте public static function priceCalculation
для тех у кого нет файла Product.php - можете просто распаковать прикрепленный и залить в папку /override/classes
не забываем, в пункте Производительность, чистить кеш