2012-01-07 4 views
-5

У меня возникла следующая проблема.расчет php работает с html, а не по электронной почте

В электронном письме, которое я отправил из магазина (платформа Virtuemart), я хотел бы сделать дополнительный расчет.

См. Под сценарий для двух примеров. Так или иначе строка $ order_total не работает для писем с подтверждением ... поскольку просмотр HTML-кода показывает правильный расчет.

Это работает нормально:

<?php $less_costs = "5"; 
$order_total = "15"; 
$endtotal = abs(floor($order_total) - $less_costs); 
echo $endtotal ?><!-- output = 10 --!> 

Это doesn''t работа в электронной почте (в формате HTML оно отображается в порядке)

<?php $less_costs = "5"; 
$endtotal = abs(floor($order_total) - $less_costs);// $order_total is dynamic from the VM store 
echo $endtotal ?><!-- output = 5 --!> 

---- EDIT ----

Я знаю, что это не самый простой вопрос, поскольку это не так, чтобы объяснить это тоже;), Но я действительно надеюсь, что один из вас может мне как-то помочь.

See this example подтверждения_email.tpl.php, который отправляет электронное письмо с общей суммой заказа. Я также поставил код выше в этом файле php (с правильными строковыми вызовами)

See this example из ps_checkout.php, который отображает все цены.

+0

Что означает «не работает»? Что вы получаете? Как выглядит HTML-код? –

+0

Итак, где вы устанавливаете $ order_total для своей электронной почты, потому что я предполагаю, что вы не –

+0

Если я напечатаю $ endtotal в HTML (онлайн-версию информации о заказе), она отображает нужную сумму. Но в подтверждении по электронной почте вывод остается «5» вместо вычисленного «10» – Ruud

ответ

1

PHP - это серверный язык, почтовый сервер не может интерпретировать PHP-код. Содержимое электронной почты должно быть обработано на стороне сервера, а затем отправлен в электронном письме.

+0

Я нашел проблему: Их знак был знаком EURO перед цена в строке. Поэтому я исправил его следующим образом: Thanx за то, что вы пытаетесь мне помочь. – Ruud

Смежные вопросы