Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Как изменить шрифт вывода цены со скидкой?

На сегодняшний день имеем стандартный вывод в таком виде:

старая цена 3.400 руб.
новая цена 3.200 руб.


Хотелось бы примерно так:

старая цена 3.400 руб.
новая цена 3.200 руб.

Подскажите, где копать?


Держи: http://www.shopos.ru/forum/index.php?topic=3253.0


спасибо, это видел, дело в том, что в файле specials.html цена выводится строкой {$module_data.PRODUCTS_PRICE}, точнее выводится не цена а сразу строки:

старая цена 3.400 руб.
новая цена 3.200 руб.


вот я и хочу узнать. где формируется цепочка из "старая цена" . "old_price" . n/ .  "новая цена" . "new_price"

запись условная, прошу не пинать  :)


больше не актуально, решил сам.
Если кому то интересно:
в файле price.php в функции FormatSpecial заменить
$price = '<span class="productOldPrice">'.INSTEAD.$this->Format($pPrice, $format).'</span><br />'.ONLY.$this->checkAttributes($pID).$this->Format($sPrice, $format);
на
$price = '<span class="productOldPrice">'.INSTEAD.'<s>'.$this->Format($pPrice, $format).'</span></s><br />'.ONLY.'<font color=#ff0000>'.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</font>';


В принципе, достаточно добавить в CSS

.productOldPrice {text-decoration:line-through;}



В принципе, достаточно добавить в CSS

.productOldPrice {text-decoration:line-through;}

а как же выделение красным новой цены? ;)


не заметил, что там красным цена выделена.
Я к тому, что лучше делать это все через css.


ты просто его не понял, ему нужно выделить новую цену,

если вообщем то ты прав, что нужно делать на CSS

вообщем если не использовать скидку группы для каждого товара, то будет нормально смотрется, если же она включена то будет не очень


Да, я сообщение не читал) Увидел, что в коде <s> используется, и написал как на css сделать.
Когда уже в шопосе цены будут раздельно все выводиться?))



Когда уже в шопосе цены будут раздельно все выводиться?))


Да..., очень даже нужная вещь бы была



function FormatSpecialDiscount($pID, $discount, $pPrice, $format, $vpeStatus = 0) {
$sPrice = $pPrice - ($pPrice / 100) * $discount;
if ($format) {
$price = '<span class="productOldPrice">'.INSTEAD.$this->Format($pPrice, $format).'</span><br /><span class="productSpecialPrice">'.ONLY.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</span><br />'.YOU_SAVE.$discount.'%';
if ($vpeStatus == 0) {
return $price;
} else {
return array ('formated' => $price, 'plain' => $sPrice);
}
} else {
return round($sPrice, $this->currencies['decimal_places']);
}
}

function FormatSpecial($pID, $sPrice, $pPrice, $format, $vpeStatus = 0) {
if ($format) {
$price = '<span class="productOldPrice">'.INSTEAD.$this->Format($pPrice, $format).'</span><br /><span class="productSpecialPrice">'.ONLY.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</span>';
if ($vpeStatus == 0) {
return $price;
} else {
return array ('formated' => $price, 'plain' => $sPrice);
}
} else {
return round($sPrice, $this->currencies['decimal_places']);
}
}

function FormatSpecialGraduated($pID, $sPrice, $pPrice, $format, $vpeStatus = 0, $pID) {
if ($pPrice == 0)
return $this->Format($sPrice, $format, 0, false, $vpeStatus);
if ($discount = $this->CheckDiscount($pID))
$sPrice -= $sPrice / 100 * $discount;
if ($format) {
if ($sPrice != $pPrice) {
$price = '<span class="productOldPrice">'.MSRP.$this->Format($pPrice, $format).'</span><br /><span class="productSpecialPrice">'.YOUR_PRICE.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</span>';
} else {
$price = FROM.$this->Format($sPrice, $format);
}
if ($vpeStatus == 0) {
return $price;
} else {
return array ('formated' => $price, 'plain' => $sPrice);
}
} else {
return round($sPrice, $this->currencies['decimal_places']);
}
}

span.productOldPrice{
    text-decoration: line-through;
color: #DF7017;
}

span.productSpecialPrice {
color: #006400;
}




   function FormatSpecialDiscount($pID, $discount, $pPrice, $format, $vpeStatus = 0) {
      $sPrice = $pPrice - ($pPrice / 100) * $discount;
      if ($format) {
         $price = '<span class="productOldPrice">'.INSTEAD.$this->Format($pPrice, $format).'</span><br /><span class="productSpecialPrice">'.ONLY.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</span><br />'.YOU_SAVE.$discount.'%';
         if ($vpeStatus == 0) {
            return $price;
         } else {
            return array ('formated' => $price, 'plain' => $sPrice);
         }
      } else {
         return round($sPrice, $this->currencies['decimal_places']);
      }
   }

   function FormatSpecial($pID, $sPrice, $pPrice, $format, $vpeStatus = 0) {
      if ($format) {
         $price = '<span class="productOldPrice">'.INSTEAD.$this->Format($pPrice, $format).'</span><br /><span class="productSpecialPrice">'.ONLY.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</span>';
         if ($vpeStatus == 0) {
            return $price;
         } else {
            return array ('formated' => $price, 'plain' => $sPrice);
         }
      } else {
         return round($sPrice, $this->currencies['decimal_places']);
      }
   }

   function FormatSpecialGraduated($pID, $sPrice, $pPrice, $format, $vpeStatus = 0, $pID) {
      if ($pPrice == 0)
         return $this->Format($sPrice, $format, 0, false, $vpeStatus);
      if ($discount = $this->CheckDiscount($pID))
         $sPrice -= $sPrice / 100 * $discount;
      if ($format) {
         if ($sPrice != $pPrice) {
            $price = '<span class="productOldPrice">'.MSRP.$this->Format($pPrice, $format).'</span><br /><span class="productSpecialPrice">'.YOUR_PRICE.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</span>';
         } else {
            $price = FROM.$this->Format($sPrice, $format);
         }
         if ($vpeStatus == 0) {
            return $price;
         } else {
            return array ('formated' => $price, 'plain' => $sPrice);
         }
      } else {
         return round($sPrice, $this->currencies['decimal_places']);
      }
   }

span.productOldPrice{
     text-decoration: line-through;
    color: #DF7017;
}

span.productSpecialPrice {
    color: #006400;
}




А что со всем этим делать?






span.productOldPrice{
    text-decoration: line-through;
color: #DF7017;
}

span.productSpecialPrice {
color: #006400;
}


добавить этот кусок в style.css, если я правильно понял


Разобрался. Для таких же товарищей как я, поясняю. Этим куском кода:

function FormatSpecialDiscount($pID, $discount, $pPrice, $format, $vpeStatus = 0) {
      $sPrice = $pPrice - ($pPrice / 100) * $discount;
      if ($format) {
         $price = '<span class="productOldPrice">'.INSTEAD.$this->Format($pPrice, $format).'</span><br /><span class="productSpecialPrice">'.ONLY.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</span><br />'.YOU_SAVE.$discount.'%';
         if ($vpeStatus == 0) {
            return $price;
         } else {
            return array ('formated' => $price, 'plain' => $sPrice);
         }
      } else {
         return round($sPrice, $this->currencies['decimal_places']);
      }
   }

   function FormatSpecial($pID, $sPrice, $pPrice, $format, $vpeStatus = 0) {
      if ($format) {
         $price = '<span class="productOldPrice">'.INSTEAD.$this->Format($pPrice, $format).'</span><br /><span class="productSpecialPrice">'.ONLY.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</span>';
         if ($vpeStatus == 0) {
            return $price;
         } else {
            return array ('formated' => $price, 'plain' => $sPrice);
         }
      } else {
         return round($sPrice, $this->currencies['decimal_places']);
      }
   }

   function FormatSpecialGraduated($pID, $sPrice, $pPrice, $format, $vpeStatus = 0, $pID) {
      if ($pPrice == 0)
         return $this->Format($sPrice, $format, 0, false, $vpeStatus);
      if ($discount = $this->CheckDiscount($pID))
         $sPrice -= $sPrice / 100 * $discount;
      if ($format) {
         if ($sPrice != $pPrice) {
            $price = '<span class="productOldPrice">'.MSRP.$this->Format($pPrice, $format).'</span><br /><span class="productSpecialPrice">'.YOUR_PRICE.$this->checkAttributes($pID).$this->Format($sPrice, $format).'</span>';
         } else {
            $price = FROM.$this->Format($sPrice, $format);
         }
         if ($vpeStatus == 0) {
            return $price;
         } else {
            return array ('formated' => $price, 'plain' => $sPrice);
         }
      } else {
         return round($sPrice, $this->currencies['decimal_places']);
      }
   }

заменить соответствующий в файле includes/classes/price.php

А затем в конце style.css добавить:

span.productOldPrice{
     text-decoration: line-through;
    color: #DF7017;
}

span.productSpecialPrice {
    color: #006400;
}



и будет вам счастье)


Спасибо tulgha.


Источник



Copyright ShopOS