Форум русской поддержки Joomla!® CMS
06.12.2016, 22:01:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вопрос разработчикам. Что выбрать для ответа на AJAX?

 (Прочитано 129 раз)
0 Пользователей и 1 Гость смотрят эту тему.
progreCCor
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 31



« : 15.09.2016, 14:13:18 »

Решил сделать себе небольшое расширение. Банально форму обратной связи, но на AJAX.
Код на яваскрипте должен вызывать какой-то скрипт и получать от него ответ. Причем в ответ он конечно должен получать не страницу сайта :-D

Встает вопрос - как лучше оформить расширение - как плагин или как компонент?
И как сделать так чтобы в ответ шло только то что мне нужно? То есть без вывода шаблона.

Извините за тупизм. Еще не слишком вник во внутреннюю структуру Joomla.
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #1 : 15.09.2016, 14:22:42 »

Форму можно выводить как угодно, но обработчик ее можно сделать в плагине. С помощью jQuery отправлять AJAX запрос в плагин и отправлять письмо, а в замен выводить результаты или ошибки ( если будут)...
Записан
Septdir
Живу я здесь
******

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 838


Skype: septdir


« Ответ #2 : 15.09.2016, 14:29:44 »

Для работы с AJAX в частности с овтетом ввиде json самое оно написать простенький компонент. Тут тебе и кнотролер в котором удобно работать с json и если надо то можно и вьху на в ответ отправить.
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #3 : 15.09.2016, 14:36:09 »

Ну зачем писать два расширения для формы и обработчика если можно сделать все в одном? Com_ajax позволяет делать AJAX запросы к хелперу модуля.

https://docs.joomla.org/Using_Joomla_Ajax_Interface/ru
Записан
Septdir
Живу я здесь
******

Репутация: +35/-3
Offline Offline

Пол: Мужской
Сообщений: 838


Skype: septdir


« Ответ #4 : 15.09.2016, 14:56:31 »

Ну зачем писать два расширения для формы и обработчика если можно сделать все в одном? Com_ajax позволяет делать AJAX запросы к хелперу модуля.
Да полезная вещь особенно когда речь идет о модулях или тяжелых плагинах(в частности где надо получать массив данных).
Но вот для форм обратной связи все же удобнее компонент имхо (хотя вообще можно взять готовый). Мне нравиться как это сделано у того же RSForm (хотя местами реализация хромает). Создал в админке форму, настроил и дергай ее как тебе угодно, хочешь в модуль, хочешь в контент, хочешь в шаблон, хочешь на отдельной странице. Да и сами отправлены данные можно в базе хранить чтобы в почту по 100 раз не лазить.
С точки зранеия разработки это конечно в 7 раз дольше, но зато в использовании очень удобно.
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #5 : 15.09.2016, 15:01:48 »

Если речь идет о компоненте то тут как бы и вопрсов не стоит, запросы будет принимать какой нибудь json контроллер. Но если речь о том чтобы только вывести форму и сделать для нее обработчик то в разработке компонента необходимости никакой нету.
Записан
progreCCor
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 31



« Ответ #6 : 15.09.2016, 15:03:04 »

как мне в плагине сделать ответ форме?
на какое событие вешать?
Записан
progreCCor
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 31



« Ответ #7 : 15.09.2016, 15:03:52 »

у меня не стоит вопрос вывода формы. Стоит вопрос приема данных от нее.
Записан
progreCCor
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 31



« Ответ #8 : 15.09.2016, 15:09:49 »

С помощью jQuery отправлять AJAX запрос в плагин и отправлять письмо, а в замен выводить результаты или ошибки ( если будут)...
вот этот вопрос меня и интересует. Как можно сделать так чтобы плагин реагировал на определенный адрес?
как сделать так чтобы в ответ он вывел совсем не страницу сайта, а нужную мне информацию?
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #9 : 15.09.2016, 15:35:16 »

вот пример модуля использующего com_ajax

https://github.com/Joomla-Ajax-Interface/Hello-Ajax-World-Module

Цитировать
Как можно сделать так чтобы плагин реагировал на определенный адрес?

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

Цитировать
как сделать так чтобы в ответ он вывел совсем не страницу сайта, а нужную мне информацию?

Вы либо создаете контроллер который отдает raw данные или делаете exit в его методе. Для com_ajax вы просто создаете метод в хелпере и отдаете результат, все остальное он сделает сам. Все же написано.
« Последнее редактирование: 15.09.2016, 15:50:28 от zomby6888 » Записан
progreCCor
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 31



« Ответ #10 : 15.09.2016, 17:32:49 »

там по ссылке модуль для 2.5
в 3.6 что то поменялось?
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #11 : 15.09.2016, 17:36:10 »

Не поменялось
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet