Нужно скрестить php cо smarty только немного не так как обычно это себе представляется. У меня почти получилось это решить, но маленькие знания php все портят на корню. Если не сложно подскажите как правильно написать чтоб заработало.

Имеем в наличии:
1. скрипт на php с массивом
2. шаблон tpl в smarty
4. фунцию smarty, которая выводит итоговую цену.

По порядку что делал.

Инклюдю в tpl
{include_php file=’beispiel_einbindung_iframe.php’}
демо скрипт запускается и работает стабильно.

Теперь нужно вместо демо данных забить в php файл переменные smarty, такие как цена, доставка и т.д.

К примеру начнет с цены: {convertPrice price=$total_price} функция протестирована и работает отдельно в любом другом tpl шаблоне.

На одном из форумов нашел решение как встроить в php файл функцию из smarty:
$newamountpay = $this->get_template_vars(‘$total_price’); подставил свое значение и назвал функцию в php как $newamountpay

Но дальше для меня темный лес. Как эту функцию встроить вместо демо-данных. Ниже приведу пример всего скрипта, чтобы было понятно.

$newamountpay = $this->get_template_vars(‘$total_price’);
$params=array(

‘shopDomain’=>»www.emitime.pro»,
‘offerType’=>»sale»,
‘productName’=>»Test-Artikel»,
‘price’=>»4″, // вот сюда на поместить $newamountpay если я правильно конечно рассуждаю
‘tax’=>»19.0″,
‘url’=>»http://www.emitime.pro/order.php«,

‘testmode’=>1,
‘useProxy’=>null,
‘username’=>null,
‘password’=>null,
‘maxDownloadNumber’=>null,
‘maxDownloadDuration’=>null,
‘fileType’=>null,
‘template’=>null,
‘processId’=>null,
‘customer_email’=>null,
‘customer_phone’=>null,
‘customer_name’=>null,
‘customer_account’=>null,
‘customer_bankcode’=>null,
);

//miniPay-Library einbinden
require_once($minipayLibraryPath);

//onclick-Event des Bezahl-Links erzeugen
$minipayCall=getMinipayCall(‘iframe’,$oi d,$sec,$params);

9 Responses to Скрестить php cо smarty

  1. Knuin:

    $newamountpay = «5»;
    ‘price’ => $newamountpay,

    Заработало. Так теперь значит проблема именно в выводе перменной из смарти в пхп
    {convertPrice price=$total_price}

  2. FMeSnow:

    $newamountpay = $this–>get_template_vars(‘$total_price’) ;

    тут отдается в функу не значение переменной, а строка ‘$total_price’

    не? или так и долно быть?

  3. Knuin:

    надо получить именно значение переменной {convertPrice price=$total_price} и поместить ее в $newamountpay

  4. Knuin:

    http://www.smarty.net/docs/en/api.get.te… где-то в этой стороне

  5. NolCap:

    желательно такие вещи в темплейт не выносить

  6. EmiNo:

    Меня всегда поражала любовь людей к Smarty — использовать язык шаблонизатора в языке-шаблонизаторе — верх цинизма, мне кажется. Inception, в его ярком проявлении.

  7. Knuin:

    подошел уже совсем близко :
    number_format($cart->getOrderTotal(), 2, ‘.’, »);

    $cart->getOrderTotal() — переменная которая выводит именно общую сумму корзины.

  8. Kkebad:

    черт, да. пытался прикрутить Twig к Yii — так и не понял, в чем плюсы этих шаблонизаторов.

  9. Knuin:

    оказалось там нужно было глобальную переменную запросить.. и все заработало) Всем спасибо

Добавить комментарий