0 Пользователей и 1 Гость просматривают эту тему.
  • 34 Ответов
  • 5912 Просмотров
*

acefoster

  • Новичок
  • 7
  • 0 / 0
Отменить вывод цены
« : 06.03.2010, 02:18:13 »
Кто-нибудь подскажите как решить следующую проблемку. Необходмо отключить вывод цены, в том случае если цена на товар не задана. В стандартном случае выводится слово "Цена:" и после него "Позвоните, чтобы уточнить цену". Так вот нужно чтобы не было ни того ни другого, просто пустое место. Пытался реализовать следующим образом. В файле flypage.tpl.php попробовал изменить вывод и вместо строк

Код
<?php echo $product_price_lbl ?>
      <?php echo $product_price ?>


поставил

Код
<?php 
              if( !empty($product_price))
                { echo $product_price_lbl;
                  echo $product_price;
                }?>

тоесть если значение цены не пустое то выводить строки, если пустое - невыводить. Но чтото оно не работает ::)
Есть идеи?
*

pitgtn

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Отменить вывод цены
« Ответ #1 : 07.03.2010, 03:09:45 »
Если цена не пустая в ней есть значение, ссылка на форму запроса. Я сделал при помощи функции  strripos
Код
<?php $isk= "href";
$viv= strripos ($product_price , $isk);
if ($viv === false ){
echo $product_price_lbl;

  echo $product_price;
} ?>
Вместо
Код
<?php echo $product_price_lbl ?>

       <?php echo $product_price ?>
Правда там придется доделать что бы на месте где была цена не образовывалось пустое место.
*

acefoster

  • Новичок
  • 7
  • 0 / 0
Re: Отменить вывод цены
« Ответ #2 : 07.03.2010, 20:05:59 »
Спасибо преогромнейшее pitgtn ! Сработало точь в точь как надо ^-^ Просто в PHP я не особо...)
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Отменить вывод цены
« Ответ #3 : 31.01.2012, 00:33:30 »
У меня к сожалению не сработало! "Цена:" так и выводится.
Или конкретнее в каком файле править, я в карточке товара заменяю.
« Последнее редактирование: 03.02.2012, 17:03:15 от kreolka_8 »
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Отменить вывод цены
« Ответ #4 : 29.03.2012, 12:05:57 »
В моем варианте после импорта товара в админ. панели магазина к товару прописывалась цена товара "0", а выводилось в карточке товара "Цена:"
Я изменила
Цитировать
if ($viv === false)

на if ($viv === 0) и сработало!

Спасибо.
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Отменить вывод цены
« Ответ #5 : 12.04.2012, 00:15:46 »
В моем варианте после импорта товара в админ. панели магазина к товару прописывалась цена товара "0", а выводилось в карточке товара "Цена:"
Я изменила
на if ($viv === 0) и сработало!

Спасибо.


К сожалению этим способ вообще убирается вывод цены. Если есть дочерние товары, то их цена выводится.
А мне нужно убрать вывод "Цена:", если цена не задана или равна "0"!
Может кто подскажет?
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Отменить вывод цены
« Ответ #6 : 08.05.2012, 18:32:04 »
Заработало, УРА!  
Вот так я прописала условие вывода "Цена:"

Код
<?php if(strlen($product_price) >= 10){
echo $product_price_lbl;
echo $product_price; }
            else {};?>

Вместо

Код
<?php echo $product_price_lbl ?>

       <?php echo $product_price ?>
yes!
« Последнее редактирование: 08.05.2012, 18:40:09 от kreolka_8 »
*

mis_tery

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Re: Отменить вывод цены
« Ответ #7 : 12.07.2012, 15:32:01 »
Плохо понимаю в кодинге , но решил это для себя вот так

      
Код
<?php


$getDesc = "SELECT DISTINCT product_id FROM jos_vm_product WHERE product_sku = {$product_sku}";
$getDescCmd = mysql_query($getDesc);
$getDescCmdRows = mysql_fetch_array($getDescCmd);
$product_id = $getDescCmdRows['product_id'];


$test=mysql_query("SELECT product_id FROM jos_vm_product WHERE product_parent_id = $product_id") or die (mysql_error());
while ($line=mysql_fetch_array($test))
{
$product_id =$line['product_id'];

$test2=mysql_query("SELECT product_price FROM jos_vm_product_price WHERE product_id = $product_id") or die (mysql_error());


while ($line2=mysql_fetch_array($test2))
{

$product_pricec=$line2['product_price'];


if ($minimum>$product_pricec){$maximum=$product_pricec; }

if ($maximum<$product_pricec){$minimum=$product_pricec; }

}

}            

if ($maximum > 0) :
echo 'От <b>'.(round($maximum * 100) / 100).' Руб</b>';
echo ' До <b>'.(round($minimum * 100) / 100).' Руб</b>';

else:

echo $product_price;

endif;

?>

Показывает цену от и до в зависиомтси от цены дочерних товаров. Если дочерних нет просто выводит цену
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Отменить вывод цены
« Ответ #8 : 22.07.2012, 21:56:26 »
Попробовала ваш вариант вставить в карточку товара вместо вывода цены и не получилось. Ошибка и не грузится страница.
*

mis_tery

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Re: Отменить вывод цены
« Ответ #9 : 22.07.2012, 22:12:51 »
В Browse вставляете? В файл вывода категории?
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Отменить вывод цены
« Ответ #10 : 22.07.2012, 22:14:14 »
В карточке товара flypage.tpl!
*

mis_tery

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Re: Отменить вывод цены
« Ответ #11 : 22.07.2012, 22:22:18 »
Данное решение было сделано для вывода диапазона цен в категории товаров в зивисимости от цен дочерних товаров. То еть в browse
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Re: Отменить вывод цены
« Ответ #12 : 23.07.2012, 08:17:48 »
Теперь понятно. Мы просто здесь обсуждали вывод надписи "Цена:" в карточке товара.
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Re: Отменить вывод цены
« Ответ #13 : 28.07.2012, 15:40:17 »
mis_tery, нужно решение, предложенное вами в сообщении выше:
http://joomlaforum.ru/index.php/topic,103957.msg1163259.html#msg1163259
Показ цены "от" и "до" на странице категорий в зависимости от цены дочерних товаров. Если дочерних нет просто вывод цены.
Поменял в вашем коде суффикс таблиц jos_ на свой. Добавил ваш код в свой файл browse.php и получил ошибку:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\site.ru\www\components\com_virtuemart\themes\default\templates\browse\browse_2.php on line 19"

строка 19:
Код
$getDescCmdRows = mysql_fetch_array($getDescCmd);

Цены на родительские товары я устанавливаю равными 0.

Можно ли взглянуть на ваш browse.php?
« Последнее редактирование: 28.07.2012, 15:43:26 от kry »
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Re: Отменить вывод цены
« Ответ #14 : 03.08.2012, 16:16:15 »
Код для Показ цены "от" и "до" на странице категорий в зависимости от цены дочерних товаров. Если дочерних нет просто вывод цены, предложенный mis_tery:
Спойлер
[свернуть]
работает, если только
вместо
Код
$getDesc = "SELECT DISTINCT product_id FROM jos_vm_product WHERE product_sku = {$product_sku}";

вставить это

Код
$getDesc = "SELECT DISTINCT product_id FROM jos_vm_product WHERE product_sku = '$product_sku'";

Но интересный факт, если дочерние товары расположены в порядке -
1) 1250 руб.,
2) 800 руб.,
тогда на странице категорий как надо пишется, что цена От 800 руб. До 1250 руб.
если дочерние товары расположены в порядке -
1) 1450 руб.,
2) 1610 руб.,
то надпись "От и До" не выводится.

Кто-нибудь сможет помочь разобраться?
« Последнее редактирование: 04.08.2012, 11:00:05 от kry »
*

mis_tery

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Re: Отменить вывод цены
« Ответ #15 : 03.08.2012, 16:22:15 »
ORDER BY думаю нужен. На следующей недели вернусть к проэкту где это использовал и думаю решим вопрос с глюком
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Re: Отменить вывод цены
« Ответ #16 : 04.08.2012, 11:13:30 »
...и еще момент.
- если у товара один дочерний товар, то на странице категорий выводится цена родительского товара (в моем случае 0 руб.),
- не учитывается скидка товара при выводе От ___ руб. До ___ руб. Но это не существенно.

mis_tery, на вас вся надежда
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Re: Отменить вывод цены
« Ответ #17 : 08.08.2012, 11:38:38 »
ORDER BY думаю нужен. На следующей недели вернусть к проэкту где это использовал и думаю решим вопрос с глюком
mis_tery вы имели ввиду так:
Код: php
$test2=mysql_query("SELECT product_price FROM jos_vm_product_price WHERE product_id = $product_id ORDER BY product_price DESC") or die (mysql_error());
?
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Re: Отменить вывод цены
« Ответ #18 : 08.08.2012, 19:34:08 »
....не то....в чем-то другом, наверное дело...
Может можно как-то переделать этот код, чтобы выполнялось типа "Цена от: [минимальная цена дочернего товара]" без "До"?
« Последнее редактирование: 08.08.2012, 19:37:29 от kry »
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Re: Отменить вывод цены
« Ответ #19 : 08.08.2012, 19:50:05 »
перед циклом присвойте значение $maximum и $minimum

Код
<?
$maximum=0;
$minimum=10000000;
while ($line2=mysql_fetch_array($test2))
...
?>
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Re: Отменить вывод цены
« Ответ #20 : 08.08.2012, 19:58:54 »
if ($maximum > 0) : - условие также измените

if ($maximum>$minimum) - как-то так
« Последнее редактирование: 08.08.2012, 20:06:36 от artlux »
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Re: Отменить вывод цены
« Ответ #21 : 08.08.2012, 21:02:46 »
artlux, давно вас не было видно, приветствую!
Попробовал ваше решение - не выходит. Отображается только цена родительского товара = 0 руб.

Код получился такой:
Код: php
 <?php


         $getDesc = "SELECT DISTINCT product_id FROM jos_vm_product WHERE product_sku = '$product_sku'";

         $getDescCmd = mysql_query($getDesc);
         $getDescCmdRows = mysql_fetch_array($getDescCmd);
         $product_id = $getDescCmdRows['product_id'];

$test=mysql_query("SELECT product_id FROM jos_vm_product WHERE product_parent_id = '$product_id'") or die (mysql_error());

while ($line=mysql_fetch_array($test))
{
$product_id = $line['product_id'];

$test2=mysql_query("SELECT product_price FROM jos_vm_product_price WHERE product_id = '$product_id'") or die (mysql_error());


$maximum=0;
$minimum=10000000;
while ($line2=mysql_fetch_array($test2))
{

$product_pricec=$line2['product_price'];


if ($minimum>$product_pricec){$maximum=$product_pricec; }

if ($maximum<$product_pricec){$minimum=$product_pricec; }

}

}          

if ($maximum>$minimum):
echo 'От <b>'.(round($maximum * 100) / 100).' руб.</b>';
echo ' До <b>'.(round($minimum * 100) / 100).' руб.</b>';

else:

echo $product_price;

endif;

?>  
« Последнее редактирование: 08.08.2012, 21:15:52 от kry »
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Re: Отменить вывод цены
« Ответ #22 : 08.08.2012, 21:57:34 »
попробуйте
$maximum=0;
$minimum=10000000;

вставить где нить перед этим
$getDesc = "SELECT DISTINCT product_id FROM jos_vm_product WHERE product_sku = '$product_sku'";

сейчас еще просмотрю.. вроди все точно написал
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Re: Отменить вывод цены
« Ответ #23 : 08.08.2012, 21:59:22 »
if ($minimum>$product_pricec){$maximum=$product_pricec; }
 
if ($maximum<$product_pricec){$minimum=$product_pricec; }

и тут нестыковка

if ($minimum>$product_pricec){$minimum=$product_pricec; }
 
if ($maximum<$product_pricec){$maximum=$product_pricec; }
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Re: Отменить вывод цены
« Ответ #24 : 08.08.2012, 22:35:10 »
 :D учитывая последние две рекомендации, уже почти то, что нужно, но:

- вывод цены стал От 1250 руб. До 800 руб. ^-^
- в варианте с одним дочерним товаром От 800 руб. До 800 руб.

Код принял вид:
Спойлер
[свернуть]

Помогите....... >:(
« Последнее редактирование: 08.08.2012, 22:39:19 от kry »
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Re: Отменить вывод цены
« Ответ #25 : 08.08.2012, 22:41:42 »
Код: php
if ($maximum > 0) :
echo 'От <b>'.(round($maximum * 100) / 100).' руб.</b>';
echo ' До <b>'.(round($minimum * 100) / 100).' руб.</b>';

заменить на

Код: php
if ($maximum>$minimum):
echo 'От <b>'.(round($minimum * 100) / 100).' руб.</b>';
echo ' До <b>'.(round($maximum * 100) / 100).' руб.</b>';

ну и если вдруг будут проблемы с выводом цены с одним дочерним то вместо

Код: php
echo $product_price;

Код: php
if ($maximum==$minimum){
echo '<b>'.(round($maximum * 100) / 100).' руб.</b>';
}else{
echo $product_price;
}


А вообще данный алгоритм не учитывает скидки, так что думаю его придется еще дорабатывать
« Последнее редактирование: 08.08.2012, 22:49:53 от artlux »
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Re: Отменить вывод цены
« Ответ #26 : 08.08.2012, 22:52:12 »
Отлично!
Теперь даже, если установлю стоимость доч. товара не 800, а 8000 руб. код правильно считает От 1250 руб. До 8000 руб. (раньше писал цену родительского товара = 0 руб в моем случае).

Но, если у родительского только один дочерний товар выводит цену родительского товара = 0 руб  :'( Как это вылечить?
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Re: Отменить вывод цены
« Ответ #27 : 08.08.2012, 22:55:05 »
как раз отредактировал сообщение :)
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Re: Отменить вывод цены
« Ответ #28 : 08.08.2012, 22:58:35 »
Снимаю последний вопрос.
artlux, СПАСИБО ЗА ТРУД+

А научить код учитывать скидки сложно будет? Не считайте за наглость - это лишь вопрос, а вашей помощи вполне хватит и на этом можно остановиться.
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Re: Отменить вывод цены
« Ответ #29 : 08.08.2012, 23:04:31 »
Это уже немного сложнее... Скидка может быть в 2 местах у вирта, группа покупателя и скидка на товар... Я не помню механизмов уже если честно, редко где скидки задействовать приходится...

Могу сделать вам, но это уже если дадите доступы, на форуме это дело много времени займет :) (завтра после завтра будет время могу помочь)...
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать привязку цены к группе покупателей

Автор newjey

Ответов: 1
Просмотров: 1069
Последний ответ 07.10.2015, 14:19:14
от fsv
Неправильное отображение цены в основной валюте

Автор Adrian1111

Ответов: 0
Просмотров: 1109
Последний ответ 05.02.2015, 15:59:36
от Adrian1111
Две цены

Автор Vasja555

Ответов: 0
Просмотров: 1017
Последний ответ 05.02.2015, 15:35:51
от Vasja555
Вывод товара drop menu

Автор Kiryanz

Ответов: 0
Просмотров: 1044
Последний ответ 21.10.2014, 09:02:14
от Kiryanz
Вывод наименования товара в две строки.

Автор Alexxxsss

Ответов: 18
Просмотров: 4318
Последний ответ 14.10.2014, 12:21:59
от Ckunnep