<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум ReadyScript &mdash; Вывод зачеркнутой цены]]></title>
	<link rel="self" href="http://forum.readyscript.ru/feed/atom/topic/419/" />
	<updated>2016-04-21T13:44:49Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.readyscript.ru/topic/419/vyvod-zacherknutoi-tseny/</id>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3117/#p3117" />
			<content type="html"><![CDATA[<p>Да действительно не понимаем.<br />Ну вот вы округлили разницу между ценами, она у Вас в delta.<br />Что теперь вам мешает применить round к нужной сумме?<br /><strong>$cost=round($cost)</strong></p><p>?</p><p>Вы же функцию к переменной можете вызывать сколько угодно раз.</p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2016-04-21T13:44:49Z</updated>
			<id>http://forum.readyscript.ru/post/3117/#p3117</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3116/#p3116" />
			<content type="html"><![CDATA[<p>Бррррр. <img src="http://forum.readyscript.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /><br />Мы по ходу немного не понимаем друг друга.</p><p>Если я делаю так {$delta=round($oldcost-$cost)} = 1020, то получается следующее<br />РРЦ: 3399<br />Скидка: 1020<br />Цена: 2379,30</p><p>но 3399 - 1020 = 2379 без тридцати копеек, а они все равно выводятся. Как округлить 2379,30 до 2379 ?</p>]]></content>
			<author>
				<name><![CDATA[Sergey T.]]></name>
				<uri>http://forum.readyscript.ru/user/36/</uri>
			</author>
			<updated>2016-04-21T12:00:14Z</updated>
			<id>http://forum.readyscript.ru/post/3116/#p3116</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3115/#p3115" />
			<content type="html"><![CDATA[<p>Так и делается. Всё абсолютно верно. Может у Вас кеш?</p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2016-04-21T11:55:39Z</updated>
			<id>http://forum.readyscript.ru/post/3115/#p3115</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3114/#p3114" />
			<content type="html"><![CDATA[<p>Вот товар <a href="http://luchski.ru/product/bryuki-razminochnye-quot-ray-quot-ws-10298/">http://luchski.ru/product/bryuki-razmin … -ws-10298/</a></p><p>РРЦ: 3399<br />Скидка: 1019,70<br />Цена: 2379,30</p><p>Если я делаю так {$delta=round($oldcost-$cost)}, то получается следующее</p><p>РРЦ: 3399<br />Скидка: 1020<br />Цена: 2379,30</p><p>т.е. цена 2379,30 остается. Как заставить ее округлиться тоже?</p>]]></content>
			<author>
				<name><![CDATA[Sergey T.]]></name>
				<uri>http://forum.readyscript.ru/user/36/</uri>
			</author>
			<updated>2016-04-21T10:05:52Z</updated>
			<id>http://forum.readyscript.ru/post/3114/#p3114</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3113/#p3113" />
			<content type="html"><![CDATA[<p>Так у Вас же здесь нет round. Вы что округляете то?</p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2016-04-21T10:01:54Z</updated>
			<id>http://forum.readyscript.ru/post/3113/#p3113</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3110/#p3110" />
			<content type="html"><![CDATA[<p>Вот так выводится цена сейчас</p><div class="codebox"><pre><code> {* Блок с ценой *}
        &lt;div class=&quot;fcost&quot;&gt;
            {assign var=last_price value=$product-&gt;getCost(&#039;Старая цена&#039;)}
            {if $last_price&gt;0}

                &lt;div class=&quot;lastPrice&quot;&gt;РРЦ: {$last_price}руб.&lt;/div&gt;
                
                &lt;!--этот блок выводит разницу между старой ценой и скидочной--&gt;
                {$cost=$product-&gt;getCost(null, null, false)} {* Получим цену без фоматирования *}
                {$oldcost=$product-&gt;getCost(&#039;Старая цена&#039;, null, false)} {* Получим цену без фоматирования *}
                {$delta=($oldcost-$cost)} {* Посчитаем разницу *}
                &lt;div class=&quot;skidka&quot;&gt;скидка {$delta|format_price} руб.&lt;/div&gt; {* Выведем разницу форматированную используя наш плагин format_price *}            

            {/if}

            &lt;span class=&quot;myCost price&quot;&gt;{$product-&gt;getCost()}&lt;/span&gt; {$product-&gt;getCurrency()}

            
        &lt;/div&gt;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Sergey T.]]></name>
				<uri>http://forum.readyscript.ru/user/36/</uri>
			</author>
			<updated>2016-04-21T08:52:47Z</updated>
			<id>http://forum.readyscript.ru/post/3110/#p3110</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3106/#p3106" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Sergey T. пишет:</cite><blockquote><p>А как округлить цену и результат? Вот, например товар <a href="http://luchski.ru/product/bryuki-razminochnye-quot-ray-quot-ws-10298/">http://luchski.ru/product/bryuki-razmin … -ws-10298/</a></p><p>{$delta=($oldcost-$cost)} - вот такой формулой я могу посчитать разницу<br />{$delta=round($oldcost-$cost)} - вот так я могу ее округлить, но если я делаю так, то округляется разница, а результат нет.</p><p>Если рассматривать товар, предложенный выше как сделать, чтобы итоговая сумма была не 2379,30 а 2380 ?</p></blockquote></div><p>Дайте полный код, который делаете с выводом цены.</p>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2016-04-21T07:50:15Z</updated>
			<id>http://forum.readyscript.ru/post/3106/#p3106</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3104/#p3104" />
			<content type="html"><![CDATA[<p>А как округлить цену и результат? Вот, например товар <a href="http://luchski.ru/product/bryuki-razminochnye-quot-ray-quot-ws-10298/">http://luchski.ru/product/bryuki-razmin … -ws-10298/</a></p><p>{$delta=($oldcost-$cost)} - вот такой формулой я могу посчитать разницу<br />{$delta=round($oldcost-$cost)} - вот так я могу ее округлить, но если я делаю так, то округляется разница, а результат нет.</p><p>Если рассматривать товар, предложенный выше как сделать, чтобы итоговая сумма была не 2379,30 а 2380 ?</p>]]></content>
			<author>
				<name><![CDATA[Sergey T.]]></name>
				<uri>http://forum.readyscript.ru/user/36/</uri>
			</author>
			<updated>2016-04-21T04:20:51Z</updated>
			<id>http://forum.readyscript.ru/post/3104/#p3104</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2507/#p2507" />
			<content type="html"><![CDATA[<p>{$skidka=round((1-$cost/$oldcost)*100)}</p><p>{$skidka}% - выведет процент выгоды</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>http://forum.readyscript.ru/user/2/</uri>
			</author>
			<updated>2016-01-27T08:26:33Z</updated>
			<id>http://forum.readyscript.ru/post/2507/#p2507</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2506/#p2506" />
			<content type="html"><![CDATA[<p>Разницу между ценами в рублях таким способом вывести получилось:</p><p><a href="http://luchski.ru/product/parafin-quot-ray-quot-ch-1-60gr-58388/">http://luchski.ru/product/parafin-quot- … 0gr-58388/</a></p><p>а если нужно указать разницу в процентах как это сделать?</p>]]></content>
			<author>
				<name><![CDATA[Sergey T.]]></name>
				<uri>http://forum.readyscript.ru/user/36/</uri>
			</author>
			<updated>2016-01-26T19:25:14Z</updated>
			<id>http://forum.readyscript.ru/post/2506/#p2506</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2280/#p2280" />
			<content type="html"><![CDATA[<p>Можно. Надо лишь посчитать в шаблоне её. <br />Вот например так:<br /></p><div class="codebox"><pre><code>{$cost=$product-&gt;getCost(null, null, false)} {* Получим цену без фоматирования *}
{$oldcost=$product-&gt;getCost(&#039;Зачеркнутая цена&#039;, null, false)} {* Получим цену без фоматирования *}
{$delta=$oldcost-$cost} {* Посчитаем разницу *}
{$delta} {* Выведем разницу *}
&lt;br/&gt;
{$delta|format_price} {* Выведем разницу форматированную используя наш плагин format_price *}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-11-30T18:29:43Z</updated>
			<id>http://forum.readyscript.ru/post/2280/#p2280</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2275/#p2275" />
			<content type="html"><![CDATA[<p>Здравствуйте, скажите можно ли вывести разницу между ценой и зачёркнутой ценой, например вы экономите nn руб. или n%?</p>]]></content>
			<author>
				<name><![CDATA[Андрей]]></name>
				<uri>http://forum.readyscript.ru/user/273/</uri>
			</author>
			<updated>2015-11-30T13:02:16Z</updated>
			<id>http://forum.readyscript.ru/post/2275/#p2275</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1619/#p1619" />
			<content type="html"><![CDATA[<p>Отлично. <br />Для проверки цены, нужно в условиях проверок в методе getCost указывать третий аргумент в false, т.к. он отвечает за форматирование цены в строку с пробелом с тысячных(10 000) в виде строки. Если третий аргумент в false, то будет 10000 именно как число. А то будет конфуз.<br />Например.<br /></p><div class="codebox"><pre><code>{$product-&gt;getCost(&#039;Зачеркнутая цена&#039;, $key, false)}</code></pre></div><p>Подробнее описание можно почитать в классе комплектации &quot;Offer&quot; в файле /modules/catalog/model/orm/offer.inc.php и там найти функцию getCost.</p><p>Что касается js, то можно так проверить.<br /></p><div class="codebox"><pre><code>$.each(list, function(selector, cost) { //Перебор объекта в data-change-cost 
   if (selector==&#039;.lastPrice&#039;){
          if (cost==&quot;0&quot;){ //Если цена равна 0
               $(selector, context).text(&#039;&#039;);
          }else{
               $(selector, context).text(cost);
          }
   }else{
          $(selector, context).text(cost);
   } 
   
});</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-07-22T08:20:54Z</updated>
			<id>http://forum.readyscript.ru/post/1619/#p1619</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1617/#p1617" />
			<content type="html"><![CDATA[<p>После всех этих изменений стали выводится зачеркнутые цены у других товаров, так как там стояла галка &quot;Для всех видов цен&quot;.</p><p>Пришлось сделать так</p><div class="codebox"><pre><code>data-change-cost=&#039;{ 
    &quot;.offerBarcode&quot;: &quot;{$offer.barcode|default:$product.barcode}&quot;, 
    &quot;.myCost&quot;: &quot;{$product-&gt;getCost(null, $key)}&quot;,
    {if $product-&gt;getCost(&#039;Зачеркнутая цена&#039;, $key)&gt;0 
    &amp;&amp; $product-&gt;getCost(&#039;Зачеркнутая цена&#039;, $key)!=$product-&gt;getCost(null, $key)}
        &quot;.lastPrice&quot;: &quot;{$product-&gt;getCost(&#039;Зачеркнутая цена&#039;, $key)}&quot;
    {else}
        &quot;.lastPrice&quot;: 0
    {/if}
}&#039; </code></pre></div>]]></content>
			<author>
				<name><![CDATA[Николай]]></name>
				<uri>http://forum.readyscript.ru/user/192/</uri>
			</author>
			<updated>2015-07-21T23:31:02Z</updated>
			<id>http://forum.readyscript.ru/post/1617/#p1617</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вывод зачеркнутой цены]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/1615/#p1615" />
			<content type="html"><![CDATA[<p>Спасибо за помощь. С карточкой товара вроде разобрался. </p><p>Как Вы посоветовали поменял в jquery.changeoffer.js</p><div class="codebox"><pre><code>$.each(list, function(selector, cost) { 
    $(selector, context).text(cost);
});</code></pre></div><p>на<br /></p><div class="codebox"><pre><code>$.each(list, function(selector, cost) { 
    if (cost){ //Если цена больше нуля
       $(selector, context).text(cost);
   }else{
       $(selector, context).text(&#039;&#039;);
   }
});</code></pre></div><p>Но этого оказалось не достаточно. Начал копаться и заметил, что в в js в cost подхватывает не числовое значение, а строку. Следовательно условие всегда будет выполняться. </p><p>Добавил в цикл генерации формы дополнительную проверку и условие, чтобы насильно присобачить none</p><div class="codebox"><pre><code>                            data-change-cost=&#039;{ 
                                    &quot;.offerBarcode&quot;: &quot;{$offer.barcode|default:$product.barcode}&quot;, 
                                    &quot;.myCost&quot;: &quot;{$product-&gt;getCost(null, $key)}&quot;,
                                    {if $product-&gt;getCost(&#039;Зачеркнутая цена&#039;, $key)&gt;0}
                                        &quot;.lastPrice&quot;: &quot;{$product-&gt;getCost(&#039;Зачеркнутая цена&#039;, $key)}&quot;
                                    {else}
                                        &quot;.lastPrice&quot;: 0
                                    {/if}
                                }&#039; </code></pre></div><p>После этого начало работать, но если выставляешь первую комплектацию без зачеркнутой цены, то она выходит с зачеркнутым нулем. </p><p>Засунул условие внутрь абзаца, начало работать как надо</p><div class="codebox"><pre><code>                    &lt;p class=&quot;lastPrice&quot;&gt;
                         {if $last_price&gt;0}
                              {$last_price}
                         {/if}
                    &lt;/p&gt;</code></pre></div><p>Возможно можно было сделать как-то элегантнее, но вроде работает)</p><p>До вывода товаров в блоке еще не добрался. Когда доберусь отпишу о успехах.</p>]]></content>
			<author>
				<name><![CDATA[Николай]]></name>
				<uri>http://forum.readyscript.ru/user/192/</uri>
			</author>
			<updated>2015-07-21T22:49:07Z</updated>
			<id>http://forum.readyscript.ru/post/1615/#p1615</id>
		</entry>
</feed>
