Вопрос по ajax, helper, call, joomla – Joomla, как сделать ajax-вызов в модуль helper.php

1

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

В default.php я хотел бы сделать ajax-вызов помощнику для обновления данных, что-то вроде этого:

$.ajax({ url: '/index.php?option=mod_doodlike&format=raw&tmpl=component, 

все остальные параметры в посте

Является ли это возможным ? какой точный URL? что я должен поместить в helper.php (публичная функция, класс myclass расширяет JController) или в mod_module.php:jimport('joomla.application.component.controller');

или определенно это компонент, который мне нужно создать?

Ваш Ответ

2   ответа
2

эта почта

Вы должны вызывать себя, лучший способ сделать это - использовать (в default.php):

 'url: "<?php echo JURI::getInstance() ?>",'

Затем mod_yourmodule.php перехватывает get или отправляет «запрос» с помощью JRequest :: getVar, потому что «$ _POST ['xxx']» не работает

 '$task = JRequest::getVar('task'); '
 'if($task == ....... '
 'and call the helper modyourmoduleHelper::youfuncion'

В хелпере, так как вам не нужны все макеты, я послал эхо возвращаемого значения от funcion между тегами «<» reply «>» и остановил joomla с помощью jexit ()

Ответом будет default.php + эхо, легко анализируемое с помощью:

 'var re = /<reply>(.*)<\/reply>/;'
 'var result = re.exec(T_output);       '       
 'if(result[1] != ''){ Displayfunction($.parseJSON(result[1]));}'

... закончено

2

вы не можете вызвать модуль URL, так как модули не используют его.

Лучше всего будет загрузить и установить новыйcom_ajax компонент, который действует как точка входа для функциональности Ajax. Он доступен для Joomla 1.5, 2,5 и 3.x, поэтому, какую бы версию вам не потребовалось, не забудьте сначала выбрать эту ветку:

https://github.com/betweenbrain-llc/Joomla-Ajax-Interface

Надеюсь это поможет

Похожие вопросы