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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Какая польза от com_ajax?
« : 11.06.2017, 23:45:45 »
Никогда не использовал com_ajax. Сегодня, в связи с вопросом от одного форумчанина о нем, решил посмотреть код компонента.
ОК, при указании модуля он вызывает метод getAjax (или какой-нибудь другой) в helper.php этого модуля, а при указании плагина - метод onAjaxПлагин.
И все.
Кто-нибудь объясните мне, какая польза от этого компонента?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Какая польза от com_ajax?
« Ответ #1 : 12.06.2017, 00:35:17 »
для реализации AJAX запросов без использования своего компонента, но автоматически в контексте api Joomla. т.е. чтобы не приходилось самому подключать апи Joomla в своем отдельно стоящем php. как например в модулях часто делают, либо что еще хуже вообще не используют апи Joomla, а напрямую работают с POST, и т.п.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Какая польза от com_ajax?
« Ответ #2 : 12.06.2017, 01:30:31 »
Не нужно полностью писать свой обработчик. Для плагинов и модулей самое оно.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Какая польза от com_ajax?
« Ответ #4 : 12.06.2017, 12:35:14 »
Не нужно полностью писать свой обработчик. Для плагинов и модулей самое оно.
Для модулей возможно, хотя не очень удобно, мне проще стукнуться в компонент ибо там можно MVC юзануть.. для плагинов спорно, ибо можно банально перехватить какой то $_REQUEST выполнить код и exit;

*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Какая польза от com_ajax?
« Ответ #5 : 12.06.2017, 12:49:09 »
Для модулей возможно, хотя не очень удобно, мне проще стукнуться в компонент ибо там можно MVC юзануть.. для плагинов спорно, ибо можно банально перехватить какой то $_REQUEST выполнить код и exit;
То есть ты для плагинов пишешь свой компонент, чтобы выполнить AJAX? Или имеешь ввиду ситацию, когда у тебя уже есть свой и там ты API для таких запросов создаёшь?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Какая польза от com_ajax?
« Ответ #6 : 12.06.2017, 12:56:26 »
То есть ты для плагинов пишешь свой компонент, чтобы выполнить AJAX?
зачем компонент? плагином же можно перехватить просто первое (ну или одно из первых) событие в Joomla, обработать, и die. по сути в модуле можно тоже самое сделать, обратится к этой странице, на которой модуль, в хелпере модуля перехватить запрос. но просто с com_ajax это удобнее мне кажется. меньше действий от сервера итого надо.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Какая польза от com_ajax?
« Ответ #7 : 12.06.2017, 13:09:28 »
зачем компонент? плагином же можно перехватить просто первое (ну или одно из первых) событие в Joomla, обработать, и die. по сути в модуле можно тоже самое сделать, обратится к этой странице, на которой модуль, в хелпере модуля перехватить запрос.
Извращенцы =)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Какая польза от com_ajax?
« Ответ #8 : 12.06.2017, 13:14:06 »
Извращенцы =)
И я - один из них, поскольку полезность сего компонента для меня пока весьма спорная.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Какая польза от com_ajax?
« Ответ #9 : 12.06.2017, 13:17:53 »
То есть ты для плагинов пишешь свой компонент, чтобы выполнить AJAX?
Дима зачем писать свой компонент для плагинов, я же написал что можно в плагине $_REQUEST перехватить и выполнить что угодно! до com_ajax я так и делал системный плагин, и в нем делал например так:
Код: php
public function onAfterInitialise(){
  if($_REQUEST['action'] === 'blablabla'){
    echo '123';
    exit;
  }
}


Или имеешь ввиду ситацию, когда у тебя уже есть свой и там ты API для таких запросов создаёшь?
Да ещё и такая ситуация постоянно )
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Какая польза от com_ajax?
« Ответ #10 : 12.06.2017, 13:55:47 »
И я - один из них, поскольку полезность сего компонента для меня пока весьма спорная.
ну просто зачем грузить все, что есть на странице (компонент, плагины, другие модули), и перехватывать в модуле, если можно это сделать в com_ajax, и много ненужного не будет выполнятся в принципе? когда его не было так и приходилось в модулях делать, потому что цеплять к модулю компонент только ради аякса в модуле имхо мягко говоря избыточно :) но сейчас с нативным решением com_ajax все проще, не вижу особо причин почему им не пользоваться. он не нужен только если заведомо есть свой компонент, тогда конечно он не нужен абсолютно, мы просто обращаемся к своему. но когда есть только модуль, который предполагает AJAX - имхо очень удобно придумано.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Какая польза от com_ajax?
« Ответ #11 : 12.06.2017, 16:14:58 »
ну просто зачем грузить все, что есть на странице (компонент, плагины, другие модули), и перехватывать в модуле, если можно это сделать в com_ajax, и много ненужного не будет выполнятся в принципе?
Согласен, в этом есть смысль.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Какая польза от com_ajax?
« Ответ #12 : 12.06.2017, 18:20:05 »
Для модулей возможно, хотя не очень удобно, мне проще стукнуться в компонент ибо там можно MVC юзануть.. для плагинов спорно, ибо можно банально перехватить какой то $_REQUEST выполнить код и exit;
С этим ни кто не спорит с тем что в компоненте больше возможностей там и модель и вьюхи под рукой, но. ты же не будешь к каждому модулю\ сайту писать компонент.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

ProtectYourSite

  • Живу я здесь
  • 2356
  • 135 / 4
  • Безопасность вебсайтов
Re: Какая польза от com_ajax?
« Ответ #13 : 12.06.2017, 18:25:27 »
И я - один из них, поскольку полезность сего компонента для меня пока весьма спорная.
Когда я начинал писать свой первый модуль (форма с отправкой данных, обработкой их и возвращением какого-то результата), то столкнулся с одной проблемой, которой до сих пор кроме как использовать AJAX не вижу варианта: это форма должна обратиться к какому-то файлу для дальнейшей обработки данных. Можно конечно разрешить прямой доступ к PHP файлу, но меня этот вариант не устраивает по многим причинам. Поэтому я считаю использование com_ajax достаточно удобным в написании модулей.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Какая польза от com_ajax?
« Ответ #14 : 12.06.2017, 19:59:20 »
форма должна обратиться к какому-то файлу для дальнейшей обработки данных. Можно конечно разрешить прямой доступ к PHP файлу, но меня этот вариант не устраивает по многим причинам
Речь шла немного о другом. В вашем случае, если "какой-то файл" - это отдельно стоящий, вне контекста Joomla API, PHP-скрипт, то не понимаю, каким образом com_ajax может вам помочь?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ProtectYourSite

  • Живу я здесь
  • 2356
  • 135 / 4
  • Безопасность вебсайтов
Re: Какая польза от com_ajax?
« Ответ #15 : 12.06.2017, 20:25:27 »
Речь шла немного о другом. В вашем случае, если "какой-то файл" - это отдельно стоящий, вне контекста Joomla API, PHP-скрипт, то не понимаю, каким образом com_ajax может вам помочь?
Это файл модуля, а не сторонний файл. И чтобы отправить форму именно средствами модуля и апи Joomla, я вижу только решение через AJAX.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Какая польза от com_ajax?
« Ответ #16 : 12.06.2017, 20:41:30 »
Мы тут говорим не о необходимости AJAX-запросов, а о пользе от компонента com_ajax. Пока вижу только возможность не
грузить все, что есть на странице (компонент, плагины, другие модули)
А в вашем случае
Это файл модуля, а не сторонний файл
При чем тут тогда
разрешить прямой доступ к PHP файлу, но меня этот вариант не устраивает
?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ProtectYourSite

  • Живу я здесь
  • 2356
  • 135 / 4
  • Безопасность вебсайтов
Re: Какая польза от com_ajax?
« Ответ #17 : 12.06.2017, 20:54:42 »
Любая форма имеет action
<form action="">
Где указывается путь к исполняемому файлу. У Joomla php файлы имеют запрет на прямой доступ, а значит форма (наш модуль) не сможет отработать напрямую. А вот если использовать com_Ajax в модуле, то не придётся юзать всякие хаки, да и не будет перезагрузки страницы. Именно об этом преимуществе я пытаюсь донести.
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Какая польза от com_ajax?
« Ответ #18 : 12.06.2017, 20:57:34 »
У Joomla php файлы имеют запрет на прямой доступ, а значит форма (наш модуль) не сможет отработать напрямую.
что честно?) а если удалить строку типа: defined( '_JEXEC' ) or die( 'Restricted access' );
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Какая польза от com_ajax?
« Ответ #19 : 12.06.2017, 20:58:46 »
Любая форма имеет action
<form action="">
Где указывается путь к исполняемому файлу. У Joomla php файлы имеют запрет на прямой доступ, а значит форма (наш модуль) не сможет отработать напрямую.
Ну почему же? Очень даже может.
А вот если использовать com_Ajax в модуле, то не придётся юзать всякие хаки, да и не будет перезагрузки страницы. Именно об этом преимуществе я пытаюсь донести.
Скорее, вы хотели так сказать:
"А вот если использовать AJAX-запрос в модуле, то не придётся юзать всякие хаки, да и не будет перезагрузки страницы. Именно об этом преимуществе AJAX-запросов я пытаюсь донести."
Не будь паразитом, сделай что-нибудь самостоятельно!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Какая польза от com_ajax?
« Ответ #20 : 12.06.2017, 21:00:40 »
Ну почему же? Очень даже может.
Даже без
удалить строку типа: defined( '_JEXEC' ) or die( 'Restricted access' );
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ProtectYourSite

  • Живу я здесь
  • 2356
  • 135 / 4
  • Безопасность вебсайтов
Re: Какая польза от com_ajax?
« Ответ #21 : 12.06.2017, 21:10:19 »
Поделитесь как?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Какая польза от com_ajax?
« Ответ #22 : 12.06.2017, 21:37:25 »
Чем тут можно делиться?
- В action напишите
Код: php-brief
echo JUri::getInstance();
- В mod_modulename.php добавьте
Код: php-brief
if (JFactory::getApplication->input->get('submit')) {
   ModModulenameHelper::doAjax();
}
- Ну и в helper.php должен быть метод
Код: php-brief
static function doAjax() {
   ...
   echo 'Это ответ сервера';
   exit();
}
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Самая быстрая файловая система для веб сервера, какая?

Автор dremora

Ответов: 4
Просмотров: 1491
Последний ответ 24.02.2014, 20:10:58
от wishlight
Какая музыка сопровождает во время работы?

Автор Анзор Чемеразаев

Ответов: 52
Просмотров: 10555
Последний ответ 19.11.2008, 07:31:07
от effrit