как вызвать метод плагина из html файла? .. Есть решение
В основном классе плагина есть pubblic function "getVar()", которая возвращает значение для переменной $var. Далее переменная $var передается в файл "scripts.html":
$view = wa()->getView(); $view->assign('var', $var); $html = $view->fetch(wa()->getAppPath('plugins/myplugin/templates/scripts.html'));
Однако в файле "scripts.html" есть JS код и есть событие "wa_order_form_changed". Здесь нужно снова обратиться к методу из основного класса плагина. Как это можно сделать?
<script> $( document ).on("wa_order_form_changed", function(event, controller) { //переменную {$var} нужно изменить. для этого вроде как можно вызвать метод getVar() из основного класса плагина //как это сделать? }); </script>
3 ответа
Добавить в плагине экшен, который возвращает значение $var в виде json и запрашивать его
Спасибо за ответ.
Потихоньку пытаюсь понять как это работает, раньше не сталкивался с экшенами
1.Создал одиночный экшен
2.В нем пытаюсь передать переменную
3. пока что не понимаю на правильном ли я пути и если да, то как проверить и что делать дальше =(
Разобрался самостоятельно. Нужно было также подкорректировать названия файлов и классов, сделать post-запрос, настроить роутинг, и вместо:
возвращать переменную так:
Документация от Webasyst довольно скудная. Мало пояснений, мало примеров. И вообще нихрена не понятно чем отличается контроллер от экшена.