Как Передать Данные Из Init.post.php (Front/backend)

Добрый день, интересует такой вопрос: как я могу передать данные, полученные в init.post.php пост контроллере для фронтенда и для бекенда моего модуля в шаблон моего модуля scripts.post.tpl, для отрисовки скриптов.

[quote name='Aleksey.Chuyan' timestamp='1438611693' post='225427']

Добрый день, интересует такой вопрос: как я могу передать данные, полученные в init.post.php пост контроллере для фронтенда и для бекенда моего модуля в шаблон моего модуля scripts.post.tpl, для отрисовки скриптов.

[/quote]



Смарти переменная создаётся и она уже доступна в шаблонах, может использоваться при отрисовке.



Пример:

/app/addons/seo/controllers/frontend/init.post.php



Расскажите детальней задачу.

Есть ядро нашего модуля, которое осуществляет все запросы на сервер. Сейчас задача написать интегратор. Есть js скрипты, которые я подключил в хуке index:scripts в посте. Теперь задача стоит. Есть несколько методов ядра, которые должны быть подключены на каждой станице фронтенда. Я реализовал их, добавив свою функцию в func.php моего модуля. Инициализировал эту функцию в модуле в frontend/init.post.php. Тут все хорошо работает. Теперь задача полученные в init.post.php данные (диамически сгенерированный js) добавить на каждой станице. Буду очень признателен если направите в нужном направлении.

Так.


  1. init.post.php у Вас на каждой странице что то получает. Передайте это что то в SMARTY, с помощью:


Tygh::$app['view']->assign('my_var', $my_var);



Смотрим пример в файле модуля “Обратный звонок”:

/app/addons/call_requests/controllers/frontend/init.post.php



2. Теперь у Вас в SMARTY доступна переменная

{$my_var}



и Вы можете делать что хотите, например как модуль “Обратный звонок” создать JavaScript переменную:

/design/themes/responsive/templates/addons/call_requests/hooks/index/scripts.post.tpl



или под какими нибудь условиями выводить что нибудь.

[size=4]доброе утро, посоветуйте пожалуйста, создал design/themes/responsive/templates/addons/triggmine/hooks/index/footer.post.tpl[/size]

[size=4]в нем вывожду переменную {$triggmine_scripts}, передаваемую в init.post.php, как вы описали выше. В футер должна приходить и выводиться строка вида:[/size]

[size=4][font=arial,helvetica,sans-serif]<script type='text/javascript' src='test1.local?triggmine_async=1&_action=getVisitor&Data=%7B%22dummy%22%3A1%2C%22Agent%22%3A%22CS-Cart%22%7D&salt=JilkA7wH'>[/font][/size]

В дальнейшем таких строк будет несколько, соответственно будут подключаться нужные скрипты. Только вот пока в футере ничего не выводится. Возможно я что-то не так сделал с подключением к хуку index:footer?

Да вроди так[quote name='Aleksey.Chuyan' timestamp='1438676471' post='225502']

В дальнейшем таких строк будет несколько, соответственно будут подключаться нужные скрипты. Только вот пока в футере ничего не выводится. Возможно я что-то не так сделал с подключением к хуку index:footer?

[/quote]



Да вроди так,

  1. удалите папку /var/cache в папке магазина, чтобы очистить кэш.
  2. Ищите Ваш скрипт поиском по коду, так как все скрипты вырезаются и переносятся в самый низ. Чтобы скрипт не переносился, добавьте атрибут data-no-defer

Спасибо, вроде как разобрался. Отличная у вас поддержка 5+

[quote name='Aleksey.Chuyan' timestamp='1438678494' post='225504']

Спасибо, вроде как разобрался. Отличная у вас поддержка 5+

[/quote]



Спасибо.



Есть видосики:

  1. RetailRocket http://www.youtube.com/watch?v=s4qu-vJz69Y&list=PL4okpC0OV7TTkHtIu8gPcgqdYXl1z8qj9&index=8
  2. Ещё какая то CPA http://www.youtube.com/watch?v=jpaww-QJMHo&list=PL4okpC0OV7TTkHtIu8gPcgqdYXl1z8qj9&index=7

Еще такой вопрос возник: получил переменную в smarty шаблоне footer.post.tpl. Вывожу переменную {$triggmine_scripts}. При этом интерпритатор отрисовывает на странице текст, а как сделать, чтоб переменная выводилась как скрипт?

[quote name='Aleksey.Chuyan' timestamp='1438679962' post='225509']

Еще такой вопрос возник: получил переменную в smarty шаблоне footer.post.tpl. Вывожу переменную {$triggmine_scripts}. При этом интерпритатор отрисовывает на странице текст, а как сделать, чтоб переменная выводилась как скрипт?

[/quote]



[color=#282828][font=arial, verdana, tahoma, sans-serif]{$triggmine_scripts nofilter}[/font][/color]

Пытаюсь подключиться к php хуку login_user_pre. Указал его в init.php, в func.php добавил функцию

[color=#cc7832]function [/color][color=#ffc66d]fn_triggmine_sucess_user_login/color{

fn_print_r([color=#6a8759]'sucess_user_login'[/color])[color=#cc7832];

[/color][color=#cc7832] [/color]fn_print_die()[color=#cc7832];

[/color]}

[font=arial,helvetica,sans-serif][size=4]Выдало ошибку:[/size][/font]



[font=arial,helvetica,sans-serif][size=4]Tygh\Exceptions\AException[/size][/font]



[font=arial,helvetica,sans-serif][size=4]Message[/size][/font]

[color=#000000]

Hook fn_triggmine_login_user_pre is not callable[/color]

к хуку [color=#ffc66d]sucess_user_login[/color]

[quote name='Aleksey.Chuyan' timestamp='1438689108' post='225539']

к хуку [color=#ffc66d]sucess_user_login[/color]

[/quote]



А где код init.php

deleted (тоже самое спросил)

[color=#cc7832]<?php

[/color]

[color=#cc7832]if /color { [color=#cc7832]die[/color]([color=#6a8759]'Access denied'[/color])[color=#cc7832]; [/color]}



fn_register_hooks(

[color=#6a8759]'login_user_pre'[/color][color=#cc7832],

[/color][color=#cc7832] [/color][color=#6a8759]'sucess_user_login'[/color][color=#cc7832],

[/color][color=#cc7832] [/color][color=#6a8759]'login_user_post'[/color][color=#cc7832],

[/color][color=#cc7832] [/color][color=#6a8759]'user_init'

[/color])[color=#cc7832];[/color]

app/addons/triggmine/init.php

Все, разобрался - спасибо. Было связано с кэшем.