Я пытаюсь создать строку значений, взятых из переменных в интерфейсе со следующей структурой:Создание URL кодируются строки в Smarty
Перед кодированием:
transaction_id=0815/2009;transaction_cid=54AB;item_id=402163045080;item_va lue=25.20;item_quantity=1;
transaction_id=0815/2009;transaction_cid=54AB;item_id=402163045080;item_va lue=25.20;item_quantity=1;
После кодирования:
transaction_id%3D0815%2F2009%3Btransaction_cid%3D54AB%3Bitem_id%3D40216304 5080%3Bitem_value%3D25.20%3Bitem_quantity%3D1%3Bitem_id%3D847163029054%3Bi tem_value%3D16.81%3Bitem_quantity%3D2
мне удалось создать массив с необходимыми данными в этой форме:
'[{"transaction_id":"233684","transaction_cid":"d2871c13c507583048d8ecf4a16f94c0","i tem_id":"3524","item_value":"4915.13","item_quantity":"1"}]',
Но что мне нужно все эти элементы массива в кодировке URL строки.
У меня нет идей, так как все, что я пытаюсь, кажется, не работает.
Использование JSON.stringify поддерживает ":"
и """
, используя alert() или join также сохраняет ":"
и не работает.
Пример массива:
обр: {ключ1: 'а', ключ2: 'б', ключ3: 'с'}
не закодирован результат:
str: 'key1 = a; key2 = b; key3 = c'
желаемый результат:
ул: 'key1% 3DA% 3Bkey2% 3Db% 3Bkey3% 3Dc'
Вот мой код до сих пор:
[{foreach from=$orderArticles item="currOrderArticle"}]
[{assign var="currBasePrice2" value=$currOrderArticle->getBasePrice()}]
products_info.push(
{
transaction_id: '[{$order->oxorder__oxordernr->value}]',
transaction_cid: '[{$order->oxorder__oxuserid->value}]',
item_id: '[{$currOrderArticle->oxorderarticles__oxartnum->value}]',
item_value: '[{$basket->getDiscountedNettoPrice()}]',
item_quantity: '[{$currOrderArticle->oxorderarticles__oxamount->value}]'
});
[{/foreach}]
Любые идеи о том, как это можно сделать?
Является ли http://www.smarty.net/docsv2/en/language.modifier.escape.tpl полезным? – apokryfos
es это работает для кодировки URL, но мне все еще нужно найти способ добраться до этой строки. – johan855
Комбинируйте с http://stackoverflow.com/questions/1285514/howto-generate-json-with-smarty – apokryfos