Добрый день, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 SX CMS / Техническая помощь
         клиентская скидка в обзоре товара

Похожие темы

клиентская скидка в обзоре товара


События Пятница, 18.02.2011, 20:01

False

Группа: Пользователь
Ранг: Новичок
Cообщений: 44
Регистрация: 30.11.2010
Город: Москва
есть возможность сделать так
в обзоре товара, допустим как на этом сайте:

Размер скидки в зависимости от количества товаров
5 - 10 единиц товара: 5.00 % скидка
11 - 20 единиц товара: 7.00 % скидка
21 - 30 единиц товара: 9.00 % скидка


лично мне это ненужно, хочется так:

Размер клиентской скидки
пользователь : 5.00 % скидка
покупатель : 7.00 % скидка
золотой покупатель : 9.00 % скидка

и желательно, чтобы вместо или после размера скидки в % стояла всетаки цена товара.

править видимо надо /theme/standard/shop/product_price.tpl

у самого знаний не хватает, может кто поможет???

Пользователь офлайн
События Пятница, 18.02.2011, 21:22

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Цитата
Размер клиентской скидки
пользователь : 5.00 % скидка
покупатель : 7.00 % скидка
золотой покупатель : 9.00 % скидка

Такая настройка делается в настройках групп


Пользователь офлайн
События Суббота, 19.02.2011, 11:42

False

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 44
Регистрация: 30.11.2010
Город: Москва
я это знаю...
я хочу чтобы это отображалось, под стоимостью товара,
Вложения
Пользователь офлайн
События Суббота, 19.02.2011, 12:39

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Ну так это все делается в шаблоне, простыми математическими действиями


Пользователь офлайн
События Суббота, 19.02.2011, 12:58

False

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 44
Регистрация: 30.11.2010
Город: Москва
я это понял, и написал в первом посте...
математику я знаю, с остальным сложнее, про это тоже написал Смешно
и еще попросил того, кто знает, по возможности помочь...

Сань, я тя отлично понимаю, но и ты пойми, если бы я смог сделать сам, я б лишних тем не создавал Моя хата скраю
Пользователь офлайн
События Суббота, 19.02.2011, 16:51

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Ща разглядел точнее что хочешь получить, не сразу понял. То есть это должно быть видно всем, типа завлекалово. Тут немного сложнее, нужно в скрипте запрос в базу добавлять и в шаблон вывод


Пользователь офлайн
События Суббота, 19.02.2011, 17:31

False

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 44
Регистрация: 30.11.2010
Город: Москва
ну мне кажется можно схалтурить немного, сама цифра то есть (цена)

далее вписать тупо текст статический и добавлять пересчитанную цену...
Пользователь офлайн
События Суббота, 19.02.2011, 18:35

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Минут через 20 выложу решение, ща на чужом компе без редактора без подсветки очень тормозно все

Добавлено Status-X: 19.02.2011, 18:35:06
Цитата
Автор: False
ну мне кажется можно схалтурить немного, сама цифра то есть (цена)

далее вписать тупо текст статический и добавлять пересчитанную цену...

Схалтурить не удастся в системе нет выборки для всех групп пользователей, есть только для группы текущего пользователя



Добавлено Status-X: 19.02.2011, 18:35:59
Итак в класс магазина добавляем новую функцию

PHP-код
/**
* Формируем цену групп со скидкой
*/
private function getPriceGroup($price 0) {
    
$price_group = array();
    if (!empty(
$price))  {
        
$sql DB::getDB()->Query("SELECT Name, Rabatt FROM " PREFIX "_benutzer_gruppen WHERE Rabatt!='0.00' AND Id!='1' ORDER BY Id DESC");
        while (
$row $sql->Result_Fetch_Object()) {        
        
$row->price = ($price/100) * (100 $row->Rabatt);
        
array_push($price_group$row);
    }
    
$sql->Result_Close();
    }
    
CS::getCS()->assign('price_group'$price_group);
}


Далее в классе магазина находим строку в функции displayProduct

PHP-код
$tout = (!empty($row_products['Template']) && file_exists(SOURCE '/shop_product_custom/' $row_products['Template'])) ? '/shop_product_custom/' $row_products['Template'] : '/shop/' $this->_product_detail_tpl;


и ниже добавляем

PHP-код
$this->getPriceGroup($row_products['Preis']);


Далее в шаблоне product.tpl, а также в любом шаблоне (например product_price.tpl) который инклюдится в указанный, мы можем получить данные скидки для групп.

Код вывода в шаблоне

PHP-код
{if !empty($price_group)} 
Размер клиентской скидки<br />
{foreach 
from=$price_group item=pg}
{
$pg->Name}: скидка - {$pg->Rabatt}%, стоимость - <strong>{$pg->price} {$currency_symbol}</strong><br />
{/foreach}
{/if}


Выводятся только группы у которых скидка не равна нолю, также не выводится скидка группы администраторов.

Если надо ленги выносим в языковые файлы. Стили также оформляем самостоятельно.

Отредактировано Status-X: 19.02.2011, 18:40:27


Благодарности False
Пользователь офлайн
События Суббота, 19.02.2011, 20:12

False

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 44
Регистрация: 30.11.2010
Город: Москва
спасибо, классно, только вот количество знаков после запятой)))
Пользователь офлайн
События Суббота, 19.02.2011, 20:24

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Цитата
Автор: False
спасибо, классно, только вот количество знаков после запятой)))


http://www.status-x.ru/topic/22/


Пользователь офлайн
События Суббота, 19.02.2011, 20:47

False

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 44
Регистрация: 30.11.2010
Город: Москва
да нет, копейки то пусть будут, но не 5 знаков после запятой)))

разобрался, в моем случае - price|numformat
Пользователь офлайн
События Четверг, 10.03.2011, 12:42

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Касательно этого решения http://www.status-x.ru/forum-action/postcount/3995/

Считает не верно скидку, добавляю его в сборку.
Если кто ставит самостоятельно с более ранние сборки здесь правка.

было
PHP-код
$this->getPriceGroup($row_products['Preis']);  


стало
PHP-код
$this->getPriceGroup($row_products['PriceGroup']);



и перед строкой
PHP-код
if (!$row_products['Beschreibung']) $row_products['Beschreibung'] = $row_products['BeschreibungDef'];


добавить
PHP-код
$row_products['PriceGroup'] = $row_products['Preis_Liste'];



Пользователь офлайн
События Четверг, 10.03.2011, 17:37

False

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 44
Регистрация: 30.11.2010
Город: Москва
а что именно неверно считает? сам пересчитывал - все сходится...
попробовал править как ты написал - вообще ниче не выводит Смешно
Пользователь офлайн
События Четверг, 10.03.2011, 21:13

SX

Группа: Администратор
Cообщений: 3016
Регистрация: 23.10.2009
Цитата
Автор: False
а что именно неверно считает? сам пересчитывал - все сходится...
попробовал править как ты написал - вообще ниче не выводит Смешно


В первом варианте, как выложил он скидку считает уже от суммы минус процент текущего пользователя, то есть если у пользователя который смотрит минус 10 процентов, то для лругих групп насчитае от суммы в 90 процентов, такой косяк.
Вообщето должно работать, я вживляю это в движок, а значит тщательно проверил


Пользователь офлайн
События Четверг, 10.03.2011, 22:45

False

Автор текущей темы
Группа: Пользователь
Ранг: Новичок
Cообщений: 44
Регистрация: 30.11.2010
Город: Москва
да... сразу то и не заметишь, тем более на админа скидки нету))))

ну слушай, править только Class.Shop.php, код вывода без изменений?
Пользователь офлайн


Похожие темы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте

Пользователей: 0, Гостей: 2

Поисковые боты: 107
Bot(63), oBot(36), BingBot(8)
 Статистика форума

  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: wonad81290
 Дни рождения

yurymaslov (85), Роман (38), Салихбек (32)
Copyright © 2009 - 2024 SX All rights reserved | Powered by SX CMS 1.06 UTF | Контакты