Как я делал две цены в webasyst
В один прекрасный день после запуска сайта на базе Webasyst Shop-Scrypt, появилась задача сделать две цена для товаров — оптовую и розничную. Обладая небольшими, чуть ли не нулевыми, знаниями программирования было решено перерыть рунет в поисках готового решения. Но как оказалось позже, проще самому было написать чем достучаться до пользователей десятков форумов и блогов.
Просидев два дня в изучении кода скрипта, были внесены следующие изменения:
-розничная цена осталась без изменения
-оптовая цена была загружена в «ячейку» старая цена
-были созданы группы покупателей: опт и розница
Для отображения оптовой цены, пользователя достаточно перетянуть в группу покупателей «Опт», заранее соданную, и все готово!
Для внесения изменений в скрипт необходимо узнать ID группы Опт! Для этого открываем phpMyAdmyn и выполняем запрос
В результате появятся все ваши группы покупателей, нам нужен будет «custgroupID» группы Опт.
Это значение и нужно подставить для сравнения в код ниже вместо цифры 4 (у меня группе Опт соответствует custgroupID=4)!
1. В product_brief.html заменить
на
а также заменить
на
2. В product_info.html добавить код вывода цены:
3. В cart_functions.php заменить
на
4. В registration_functions.php в функции regAuthenticate перед
добавить
Вот и все! Желаю удачи.
Просидев два дня в изучении кода скрипта, были внесены следующие изменения:
-розничная цена осталась без изменения
-оптовая цена была загружена в «ячейку» старая цена
-были созданы группы покупателей: опт и розница
Для отображения оптовой цены, пользователя достаточно перетянуть в группу покупателей «Опт», заранее соданную, и все готово!
Для внесения изменений в скрипт необходимо узнать ID группы Опт! Для этого открываем phpMyAdmyn и выполняем запрос
SELECT * FROM `SC_custgroups`
В результате появятся все ваши группы покупателей, нам нужен будет «custgroupID» группы Опт.
Это значение и нужно подставить для сравнения в код ниже вместо цифры 4 (у меня группе Опт соответствует custgroupID=4)!
1. В product_brief.html заменить
<input class="product_price" value="{$product_info.list_priceWithUnit|escape:'html'}" type="hidden" />
на
{if $smarty.session.gruppa_po_id=='4' and $smarty.session.log}
<input class="product_price" value="{$product_info.list_priceWithUnit|escape:'html'}" type="hidden" />
{else}
<input class="product_price" value="{$product_info.PriceWithUnit|escape:'html'}" type="hidden" />
{/if}
а также заменить
<span class="totalPrice">
на
<span class="totalPrice">{if $smarty.session.gruppa_po_id=='4' and $smarty.session.log}{$product_info.list_priceWithUnit}{else}{$product_info.PriceWithUnit}{/if}
2. В product_info.html добавить код вывода цены:
{if $smarty.session.gruppa_po_id=='4' and $smarty.session.log}Цена опт. {$product_info.list_priceWithUnit}{else}Цена розн. {$product_info.PriceWithUnit}{/if}
3. В cart_functions.php заменить
$q=db_query("select Price from ".PRODUCTS_TABLE." where productID='".$productID."'")
на
if ($_SESSION['gruppa_po_id'] =='4' and $_SESSION['log'] )
{
$q=db_query("select list_price from ".PRODUCTS_TABLE." where productID='".$productID."'");
}
else
{
$q=db_query("select Price from ".PRODUCTS_TABLE." where productID='".$productID."'");
}
4. В registration_functions.php в функции regAuthenticate перед
$_SESSION["log"] = $login;
$_SESSION["pass"] = Crypt::PasswordCrypt($password, null);
добавить
$posetitelya=array();
$gruppa_po_id='0';
$gruppa_po_nazvaniyu="";
$posetitelya=regGetCustomerInfo2($login);
$gruppa_po_id=$posetitelya["custgroupID"];
$gruppa_po_nazvaniyu=$posetitelya["custgroup_name"];
$_SESSION["gruppa_po_id"] = $gruppa_po_id;
$_SESSION["gruppa_po_nazvaniyu"] = $gruppa_po_nazvaniyu;
Вот и все! Желаю удачи.
7 комментариев
— В product_brief.html заменить
/>
на
{if $smarty.session.gruppa_po_id=='4' and $smarty.session.log}
/>
{else}
/>
{/if}
а также заменить
на
{if $smarty.session.gruppa_po_id=='4' and $smarty.session.log}{$product_info.list_priceWithUnit}{else}{$product_info.PriceWithUnit}{/if}
— а также заменить… на… там было пропущено что-то?
И ещё — получается, при входе человека, которому была присвоена группа «опт», он видит «старую цену» и всё? там будет так и написано «старая цена»? :)
Спасибо! Если не сложно, можете ответить на e-mail: info@stoodio.ru
/>
как то не совсем понятно, что заменять, и что выводить тоже не очень(
нет такого файла есть только fb.product_info.html
или где этот фаил лежит?