Подключение Ajax в модулях и мамботах
  • GoDrGoDr Апрель 2011
    собственно и есть вопрос.. как?
  • ArkadiyArkadiy Апрель 2011
    обсуждал этот вопрос на джумлафоруме, в модулях без хаков никак. В мамботах нужно зарегистрировать функцию onAfterAjaxStart
  • GoDrGoDr Апрель 2011
    дай ссылку... нужно вообще-то этот вопрос решить... а то приходится компонент создавать, пусть даже и пустой...
  • ArkadiyArkadiy Апрель 2011
    http://joomlaforum.ru/index.php/topic,40408.msg751015.html#msg751015
    Это и следующее сообщение, а дальше критика и отказ.
  • ArkadiyArkadiy Апрель 2011
    Хотя нет, в \components\com_modules\modules.ajax.php
    есть механизм подключения аяксовых файлов модулей. Коля сделал, но никому не сказал.
  • GoDrGoDr Апрель 2011
    Arkadiy сказал: Хотя нет, в \components\com_modules\modules.ajax.php

    есть механизм подключения аяксовых файлов модулей. Коля сделал, но никому не сказал.
    Нука-нука.. подробнее можно?

  • ArkadiyArkadiy Апрель 2011
    modules.ajax.php

    // запрет прямого доступа
    defined( '_VALID_MOS' ) or die();

    $module = strval(mosGetParam($_REQUEST, 'module', ''));
    $title = strval(mosGetParam($_REQUEST, 'title', ''));
    /*правка для подгрузки файлов модулей*/
    $task2 = mosGetParam($_REQUEST, 'task2', '');

    if($task2 == 'load_module_ajax_helper') {
    $path = JPATH_BASE."/modules/".$module."/".$module.".ajax.php";
    if(is_file($path)){
    require ($path);
    }
    }
    else{
    /*конец правки для подгрузки файлов модулей*/
    require_once (JPATH_BASE.'/includes/frontend.php');
    mosLoadModule($module, $title);
    /*правка для подгрузки файлов модулей*/
    }
    /*правка для подгрузки файлов модулей*/

    т.е. делаем гет-запрос JPATH_SITE.'/ajax.index.php?option=com_modules&module=твой_модуль&task2=load_module_ajax_helper&твои_параметры_для_хелпера
    и он подключает файл твой_модуль.ajax.php в котором и делаешь все аяксовые дела.
    Отредактированно Arkadiy в 2011-04-04 02:35:16
  • ArkadiyArkadiy Апрель 2011
    Все чисто теоретически, на практике не применял, но скорее всего правильно.
  • GoDrGoDr Апрель 2011
    так.. теперь вопрос.. в нём будут доступны все классы движка?
  • ArkadiyArkadiy Апрель 2011
    Думаю что да, надо пробовать.
  • GoDrGoDr Апрель 2011
    ладно.. начну писать модуль а там посмотрим
  • GoDrGoDr Апрель 2011
    с первого раза не получилось...
    так, вот есть основной файл и там есть код
    <p><a href="javascript:voil(0)" onclick="gda_cont()">ссылка</a></p>
    <div id="gda_cont"></div>
    <script type="text/javascript">
    function gda_cont() {
    $.get("ajax.index.php?option=com_modules&module=mod_gdarchive&task2=load_module_ajax_helper&q1=1", function(data) {
    $("#gda_cont").html(data);
    });
    return false;
    }
    </script>

    в mod_gdarchive.ajax.php это
    echo "что-то такое";
    в общем проще некуда.. чисто для теста... И ничего.. Жму на ссылку и дублируется модуль
  • GoDrGoDr Апрель 2011
    зы
    код подсветки ужасный...да ещё нужно догадаться как его вставить :)

    И когда начинаешь печатать ответ, форум оооочень начинает тормозить
  • ArkadiyArkadiy Апрель 2011
    1. Что консоль firebug пишет?
    2. попробуй просто этот адрес скопировать в адресную строку браузера и посмотерть что пишет.

Добро пожаловать!

Похоже, что Вы здесь впервые. Если хотите поучаствовать, нажмите на одну из этих кнопок!

Войти Зарегистрироваться

В теме отметились