Малък проблем с кода при добавяне на Shipping според цената

Ivaylo.Georgiev

Active Member
Здравейте!

Имам следното бързо въпросче. Искам да си добавя поле "Доставка" под Наличността. Доставката искам да бъде зависеща от цената - под 300 - 7 лв., а над нея Безплатна. За целта редактирам файла /catalog/view/theme/тема/template/product/product.tpl и добавям следния код:
Код:
            <dt><?php echo 'Доставка:'; ?></dt>
            <?php if ($price>=300): ?>
            <dd><?php echo 'Безплатна'; ?></dd>
            <?php else: ?>
            <dd><?php echo 'от 7,00 лв.'; ?></dd>
            <?php endif; ?>
И се получава. Пример. Но! Когато сумата е над 1000 лв. се шашка и отново дава "7 лв.". Пример. Предполагам се дължи на начина на изписването на цената, че има интервал "1 593,46" и гледа 1-цата. Понеже само се упражнявам на PHP, моля някой да удари едно рамо :)

OpenCart 1.5.4
 
От: Малък проблем с кода при добавяне на Shipping според цената

Малко съм босичък още. За първи пипам php и се извинявам за глупавия въпрос. Къде точно да вмъкна $price = number_format($price,2,'',''); и как ( в смисъл да го ограждам ли с <?php ?>)
 
От: Малък проблем с кода при добавяне на Shipping според цената

<dt><?php echo 'Доставка:'; ?></dt>

<?php $price = number_format($price,2,'','');?>

<?php if ($price>=300): ?>
<dd><?php echo 'Безплатна'; ?></dd>
<?php else: ?>
<dd><?php echo 'от 7,00 лв.'; ?></dd>
<?php endif; ?>

Ако даде някакви бъгове казвай, но за твоят случай мисля ще е добре.
 
От: Малък проблем с кода при добавяне на Shipping според цената

Излъгал съм те, не го прави с горният пример :)

<dt><?php echo 'Доставка:'; ?></dt>

<?php $price = str_replace(' ','', $price);;?>

<?php if ($price>=300): ?>
<dd><?php echo 'Безплатна'; ?></dd>
<?php else: ?>
<dd><?php echo 'от 7,00 лв.'; ?></dd>
<?php endif; ?>
 

Горе