0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 646 Просмотров
*

Progreccor

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

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

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

NewUsers

  • Живу я здесь
  • 2307
  • 214 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Форму можно выводить как угодно, но обработчик ее можно сделать в плагине. С помощью jQuery отправлять AJAX запрос в плагин и отправлять письмо, а в замен выводить результаты или ошибки ( если будут)...
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Для работы с AJAX в частности с овтетом ввиде json самое оно написать простенький компонент. Тут тебе и кнотролер в котором удобно работать с json и если надо то можно и вьху на в ответ отправить.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Ну зачем писать два расширения для формы и обработчика если можно сделать все в одном? Com_ajax позволяет делать AJAX запросы к хелперу модуля.

https://docs.joomla.org/Using_Joomla_Ajax_Interface/ru
интернет-блог: http://websiteprog.ru
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Ну зачем писать два расширения для формы и обработчика если можно сделать все в одном? Com_ajax позволяет делать AJAX запросы к хелперу модуля.
Да полезная вещь особенно когда речь идет о модулях или тяжелых плагинах(в частности где надо получать массив данных).
Но вот для форм обратной связи все же удобнее компонент имхо (хотя вообще можно взять готовый). Мне нравиться как это сделано у того же RSForm (хотя местами реализация хромает). Создал в админке форму, настроил и дергай ее как тебе угодно, хочешь в модуль, хочешь в контент, хочешь в шаблон, хочешь на отдельной странице. Да и сами отправлены данные можно в базе хранить чтобы в почту по 100 раз не лазить.
С точки зранеия разработки это конечно в 7 раз дольше, но зато в использовании очень удобно.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Если речь идет о компоненте то тут как бы и вопрсов не стоит, запросы будет принимать какой нибудь json контроллер. Но если речь о том чтобы только вывести форму и сделать для нее обработчик то в разработке компонента необходимости никакой нету.
интернет-блог: http://websiteprog.ru
*

Progreccor

  • Захожу иногда
  • 269
  • 25 / 0
как мне в плагине сделать ответ форме?
на какое событие вешать?
*

Progreccor

  • Захожу иногда
  • 269
  • 25 / 0
у меня не стоит вопрос вывода формы. Стоит вопрос приема данных от нее.
*

Progreccor

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

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
вот пример модуля использующего com_ajax

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

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

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

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

Вы либо создаете контроллер который отдает raw данные или делаете exit в его методе. Для com_ajax вы просто создаете метод в хелпере и отдаете результат, все остальное он сделает сам. Все же написано.
« Последнее редактирование: 15.09.2016, 14:50:28 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Progreccor

  • Захожу иногда
  • 269
  • 25 / 0
там по ссылке модуль для 2.5
в 3.6 что то поменялось?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Не поменялось
интернет-блог: http://websiteprog.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

ajax загрузка компонента на странице материала К2

Автор Divn

Ответов: 0
Просмотров: 520
Последний ответ 13.01.2023, 15:05:52
от Divn
При срабатывании ajax появляетсся div id="system-message-container"

Автор androv77

Ответов: 1
Просмотров: 453
Последний ответ 17.11.2022, 11:50:42
от androv77
Передача id поля ajax-запросом в модальное окно bootstrap 4 Joomla 3

Автор coolplaymaster

Ответов: 17
Просмотров: 1341
Последний ответ 21.12.2021, 17:42:45
от coolplaymaster
Вопрос по роутеру: вложенность статей друг в друга

Автор effrit

Ответов: 6
Просмотров: 507
Последний ответ 30.09.2021, 10:17:15
от sivers
Модуль вывода категорий с функцией ajax

Автор Damarkuzz

Ответов: 3
Просмотров: 511
Последний ответ 26.06.2021, 10:41:31
от Damarkuzz