Переопределение переменной в smarty завершается неудачно (плагин jtl).Есть ли умное кеширование? - PullRequest
0 голосов
/ 22 мая 2018

Это своего рода конкретный вопрос, но мне интересно, сталкивался ли кто-то из вас с такой же проблемой раньше.

Что я пытаюсь сделать: я работаю над плагином jtl.Для начала плагин должен просто выполнить платежи (активен определенный хук и работает) и переименовать описание.Поскольку позже мне нужно добавить больше функциональности, все это должно происходить в плагине (хотя в первом случае jquery было бы проще).В системе магазина платежи устанавливаются так:

$smarty->assign('Zahlarten', $zahlarten);

В плагине я получаю все платежи следующим образом:

$tmpPayments = $smarty->get_template_vars('Zahlarten');

Затем я перебираю массив, делаяконкретные изменения.В конце я хочу добавить платежи обратно как:

$smarty->assign('Zahlarten', $tmpPayments');

И это то, что не работает.Когда я изменяю описание и смотрю переменные в отладчике phpstorm, они обновляются соответственно.Но после полной загрузки страницы изменения не видны.

Я знаю профессиональные плагины, которые делают это точно, и это работает.Изменение исходного массива также не помогает.

Также не работает кэширование деактивации.Вот так:

$smarty->assign('Zahlarten', $tmpPayments', true);

Что работает:

$smarty->assign('Zahlarten_tmp', $tmpPayments');

Но это, очевидно, не то, что я хочу, так как мне придется изменить шаблон для этого.

В заключение, мне кажется, что происходит какое-то кэширование, которое я не могу понять.У кого-нибудь есть идея или могут указать мне источники, которые могут помочь?

Заранее спасибо!

1 Ответ

0 голосов
/ 23 мая 2018

Я наконец-то наткнулся на ответ (часы спустя: P).

Корень проблемы: некоторый исходный код системы далеко от моего фактического контекста произвел свои собственные вычисления, что привело к другому

$smarty->assign('Zahlarten', $farAwayCalcs);

, таким образом отменяя мои изменения.

Никогда не стоит недооценивать пошаговое выполнение кода с помощью вашего любимого отладчика.;)

Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...