Добре дошъл/дошла, Гост. Моля, въведи своето потребителско име или се регистрирай.

Влез с потребителско име, парола и продължителност на сесията

Новини:

Joomla! 4 е още α версия. Използвайте я само за тестове! Вижте повече Joomla 4 Alpha is Out

Автор Тема: Код за задраскаване на старата цена при отстъпка  (Прочетена 4034 пъти)

Неактивен Михаил Михов

  • Администратор
  • Мега Гуру
  • *
  • Публикации: 3649
  • @Mihail
  • Репутация: +59
    • MyWeb1
Днес ми се наложи пак да пиша нещо елементарно и много съм ядосан. За пореден път се убеждавам, че, 2-ката на марта е много ненакърнен магазин...
За нещо елементарно като задраскване са старата цена и показване само при налично намаление на продукта се налага да преработвам файловете.

Та по темата:
В магазина има 3 цени. Продажна сена, Стара цена /*базова цена*/ и сума на отстъпката.

Изчистете всички цени във вашите файлове за категория и продукт:
за категория:
папка на вашия шаблон/html/com_virtuemart/categories
за продукт:
папка на вашия шаблон/html/com_virtuemart/productdetails
и добавете на мястото:
за категория
<?php
if ($this->show_prices == '1') {
if (
$product->prices['discountAmount']<and VmConfig::get ('askprice'1) and  !$product->images[0]->file_is_downloadable) {
echo 
$this->currency->createPriceDiv('basePrice','COM_VIRTUEMART_PRODUCT_BASEPRICE',$product->prices);
}
echo 
$this->currency->createPriceDiv('discountAmount','COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT',$product->prices);
echo 
$this->currency->createPriceDiv('salesPrice','COM_VIRTUEMART_PRODUCT_SALESPRICE',$product->prices);
?>



за продукта:
<?php
if ($this->product->prices['discountAmount']<and VmConfig::get ('askprice'1) and  !$product->images[0]->file_is_downloadable) {
echo 
$this->currency->createPriceDiv ('basePrice''COM_VIRTUEMART_PRODUCT_BASEPRICE'$this->product->prices);
}
echo 
$this->currency->createPriceDiv 'salesPrice''COM_VIRTUEMART_PRODUCT_SALESPRICE'$this->product->prices ); 
echo 
$this->currency->createPriceDiv 'discountAmount''COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT'$this->product->prices );
?>


Остава само да промените цсс-а отговорен за магзина:
div.PricebasePrice .PricebasePrice {
    text-decoration: line-through;
}

И да си промените езиковия файл от 'базова цена' на 'стара цена' или както прецените и сте гтови.
Успех!
« Последна редакция: 16 Април, 2014, 19:16:50 от Михаил »
myweb1.eu // Български платежни методи за HikaShop

Joomla! България


Неактивен MOn dsoffn

  • Разбирач
  • *
  • Публикации: 1045
  • Репутация: +22
И аз много се ядосвах докато го правих на моя магазин. А какви ядове брах докато го направя и да изчислява отстъпката в процент от цената без отстъпка ....  :-\

Неактивен mac

  • За малко е тук
  • *
  • Публикации: 5
  • Репутация: 0
Re: Код за задраскаване на старата цена при отстъпка
« Отговор #2 -: 19 Октомври, 2015, 21:32:25 »
0
Мишо, а трябва да се изтрият всички стари продукти и категории който вече за добавени?  :-[

Нещо не те разбрах.

Искам просто ново добавените продукти да имат опция за промо цена.

Неактивен Михаил Михов

  • Администратор
  • Мега Гуру
  • *
  • Публикации: 3649
  • @Mihail
  • Репутация: +59
    • MyWeb1
Re: Код за задраскаване на старата цена при отстъпка
« Отговор #3 -: 20 Октомври, 2015, 08:44:27 »
0
Мишо, а трябва да се изтрият всички стари продукти и категории който вече за добавени?  :-[

Нещо не те разбрах.

Искам просто ново добавените продукти да имат опция за промо цена.

Нищо не се трие, просто се редактират тези 3 файла 'дефолт' в 2-те директории и цсс файла отговорен за магазина.
Имай предвид, че този код е от доста става версия на 2-ката и ще трябва да се потърси дали няма промяна в новите версии.
myweb1.eu // Български платежни методи за HikaShop

Неактивен mac

  • За малко е тук
  • *
  • Публикации: 5
  • Репутация: 0
Re: Код за задраскаване на старата цена при отстъпка
« Отговор #4 -: 20 Октомври, 2015, 15:59:44 »
0
А дали има решение за VirtueMart 3.0.9  ?

Неактивен Бого

  • Администратор
  • Гуру
  • *
  • Публикации: 2192
  • Mercedes-Benz forever
  • Репутация: +27
Re: Код за задраскаване на старата цена при отстъпка
« Отговор #5 -: 20 Октомври, 2015, 21:50:02 »
0
А дали има решение за VirtueMart 3.0.9  ?

Колега,

ти отвори ли файловете да видиш?
Joomla, произлиза от думата Jumla (на суахили), която означава `всички заедно`, като потвърждение на open source инициативата!

Неактивен Михаил Михов

  • Администратор
  • Мега Гуру
  • *
  • Публикации: 3649
  • @Mihail
  • Репутация: +59
    • MyWeb1
Re: Код за задраскаване на старата цена при отстъпка
« Отговор #6 -: 20 Октомври, 2015, 23:10:02 »
0
ти отвори ли файловете да видиш?

В тази връзка, ако в папката на шаблона нямаш директория /html/com_virtuemart/ ще трябва или да я създадеш за да вади файловете от там /* но прочети документацията за тази възможност как става*/
или трябва да ги търсиш в компонента и там да редактираш.
Съответно:
/components/com_virtuemart/views/productdetails/tmpl/default.php - за продукта
/components/com_virtuemart/views/category/tmpl/default.php - за категорията
myweb1.eu // Български платежни методи за HikaShop

Неактивен sashomasho

  • Мега Гуру
  • *
  • Публикации: 2818
  • искам въртолет
  • Репутация: +5
0
Би трябвало файловете да са същите.
Ще ги проверя тия дни и ще дам отзив дали е приложимо и за 3.х
Полезна информация
Благодаря
Онлайн магазин за фототапети

Неактивен AngelinStoev

  • Загряващ
  • *
  • Публикации: 237
  • Репутация: 0
    • bg-maistor
Колеги,

направих да се показва стара и нова цена на продукт в категория, но въпроса ми е как да забраня когато няма намаление да не се показват старата и новата цена! защо се получава една и съща цена, като едната е задраскана?

Благодаря предварително.

В момента кода изглежда така:
<div class="catProductPrice" id="productPrice<?php echo $product->virtuemart_product_id ?>">
                        <?php
                        if ($this->show_prices == '1') :
                           if ($product->prices['salesPrice']<=0 and VmConfig::get ('askprice', 1) and  !$product->images[0]->file_is_downloadable) :
                              echo JText::_ ('COM_VIRTUEMART_PRODUCT_ASKPRICE');
                           endif;
                           echo $this->currency->createPriceDiv('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices);
                           echo $this->currency->createPriceDiv('salesPrice', '', $product->prices);
                        endif; ?>
                     </div>
« Последна редакция: 04 Април, 2018, 22:31:35 от AngelinStoev »

Неактивен Михаил Михов

  • Администратор
  • Мега Гуру
  • *
  • Публикации: 3649
  • @Mihail
  • Репутация: +59
    • MyWeb1
+1
//Този софтуер стана много тегав, няма ли вече решение на въпроса? Питам, защото отдавна на го следя и нямам инсталация на него.
По темета:
Опитай да промениш кода от и дано стане:
if ($product->prices['salesPrice']<=0 and VmConfig::get ('askprice', 1) and  !$product->images[0]->file_is_downloadable) :на:
if ($product->prices['salesPrice']<0 and VmConfig::get ('askprice', 1) and  !$product->images[0]->file_is_downloadable) :
myweb1.eu // Български платежни методи за HikaShop

Неактивен sashomasho

  • Мега Гуру
  • *
  • Публикации: 2818
  • искам въртолет
  • Репутация: +5
0
Има решение... има си шаблони които решават всички визуални проблеми...
Онлайн магазин за фототапети

Неактивен AngelinStoev

  • Загряващ
  • *
  • Публикации: 237
  • Репутация: 0
    • bg-maistor
0
За съжаление не става! Само да уточня, че salesPrice ми е крайна, тя се показва винаги със или без Т.О., променливата е basePriceWithTax!

Неактивен Любо

  • За малко е тук
  • *
  • Публикации: 5
  • Репутация: 0
0
Сложи проверка и дискаунта ще ти го показва само когато го има

if ($product->prices['discountAmount'] != -0) {
        echo $this->$currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices);
     }
« Последна редакция: 12 Април, 2018, 19:26:53 от Любо »
Сайт за ПВЦ мебели [nofollow]

Joomla! България