Какая польза от com_ajax?

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

robert

  • Профи
  • ********
  • 4006
  • 371
Какая польза от com_ajax?
« : 12.06.2017, 01:45:45 »
Никогда не использовал com_ajax. Сегодня, в связи с вопросом от одного форумчанина о нем, решил посмотреть код компонента.
ОК, при указании модуля он вызывает метод getAjax (или какой-нибудь другой) в helper.php этого модуля, а при указании плагина - метод onAjaxПлагин.
И все.
Кто-нибудь объясните мне, какая польза от этого компонента?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

dmitry_stas

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

*

Septdir

  • Практически профи
  • *******
  • 2160
  • 108
  • JoomlaZen
Re: Какая польза от com_ajax?
« Ответ #2 : 12.06.2017, 03:30:31 »
Не нужно полностью писать свой обработчик. Для плагинов и модулей самое оно.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
________
Мои Контакты | JoomlaZen


*

Aleks.Denezh

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

Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

b2z

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

*

dmitry_stas

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

*

b2z

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

*

robert

  • Профи
  • ********
  • 4006
  • 371
Re: Какая польза от com_ajax?
« Ответ #8 : 12.06.2017, 15:14:06 »
Извращенцы =)
И я - один из них, поскольку полезность сего компонента для меня пока весьма спорная.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

Aleks.Denezh

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


Или имеешь ввиду ситацию, когда у тебя уже есть свой и там ты API для таких запросов создаёшь?
Да ещё и такая ситуация постоянно )
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

dmitry_stas

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

*

robert

  • Профи
  • ********
  • 4006
  • 371
Re: Какая польза от com_ajax?
« Ответ #11 : 12.06.2017, 18:14:58 »
ну просто зачем грузить все, что есть на странице (компонент, плагины, другие модули), и перехватывать в модуле, если можно это сделать в com_ajax, и много ненужного не будет выполнятся в принципе?
Согласен, в этом есть смысль.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

Septdir

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

*

ProtectYourSite

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

*

robert

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

*

ProtectYourSite

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

*

robert

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

*

ProtectYourSite

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

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
Re: Какая польза от com_ajax?
« Ответ #18 : 12.06.2017, 22:57:34 »
У Joomla php файлы имеют запрет на прямой доступ, а значит форма (наш модуль) не сможет отработать напрямую.
что честно?) а если удалить строку типа: defined( '_JEXEC' ) or die( 'Restricted access' );
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

robert

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

*

robert

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

*

ProtectYourSite

  • Живу я здесь
  • ******
  • 853
  • 48
Re: Какая польза от com_ajax?
« Ответ #21 : 12.06.2017, 23:10:19 »
Поделитесь как?

*

robert

  • Профи
  • ********
  • 4006
  • 371
Re: Какая польза от com_ajax?
« Ответ #22 : 12.06.2017, 23: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();
}
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.