Новости Joomla

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

Krec13

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Подключение фреймворка
« : 19.06.2013, 12:53:45 »
Проблема такова:
Через ajax-запрос из шаблона нужно отослать данные php-файлу.
Сделал так:
Код: javascript
    $.post('templates/blah/ajax.php', {'data[]': something}, function(data) {
        alert(data);
    })
А уже в том php-файле подключить zoo и сформировать вывод элементов по их id. Здесь впал в ступор. С подключенным zoo получаю ошибку:
Код
Fatal error: class "systemHelper" not found in /site/administrator/components/com_zoo/framework/classes/app.php on line 162
Гуглил, говорят, ошибка где-то в путях.
Подключаю фреймворк Joomla и zoo так:
Код: php
<?php
    define( '_JEXEC', 1 );
    define( 'DS', DIRECTORY_SEPARATOR );
    define ('JPATH_BASE', dirname (__FILE__). "/../..//");
    require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
    require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
    require_once ( JPATH_LIBRARIES.DS.'import.php');
    $app = JFactory::getApplication('site')->initialise();
    require_once(JPATH_ADMINISTRATOR . '/components/com_zoo/config.php');
    $data = $_POST[data];
    echo $data[0];
?>
Без подключения zoo получаю свой alert с данными. После подключения - ошибку выше. Zoo очень нужен, чтобы сформировать вывод тизеров. Может я где-то накосячил или есть возможность сделать иначе?
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
Re: Подключение фреймворка
« Ответ #1 : 19.06.2013, 13:26:28 »
А не проще ли все сделать плагином? В плагине подключаете свой контроллер и на него уже скидываете запросы.
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
Re: Подключение фреймворка
« Ответ #2 : 19.06.2013, 14:40:43 »
примите данные в вашем файле и запишите значения в сессию а уже в самом zoo принимайте из сессии и делайте что хотите



Спойлер
[свернуть]



а где нужно вывести получить данные и обработать

Код
$session  =& JFactory::getSession();
$data      = $session->get( 'data' );



« Последнее редактирование: 19.06.2013, 15:04:29 от likrion »
R331474010295
*

Krec13

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: Подключение фреймворка
« Ответ #3 : 19.06.2013, 18:09:06 »
А не проще ли все сделать плагином? В плагине подключаете свой контроллер и на него уже скидываете запросы.
Можно чуть подробней расписать?

примите данные в вашем файле и запишите значения в сессию а уже в самом zoo принимайте из сессии и делайте что хотите
Да дело в том, что данные получаю с помощью js. Эти данные постоянно обновляются. Потом нужно этот json передать php. И тут не понимаю, как на нужной странице сохранить сессию и без перезагрузки страницы вывести данные.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Подключение фреймворка
« Ответ #4 : 19.06.2013, 18:21:01 »
Код: php-brief
$.post('/index.php?ajax=1', {'data[]': something}, function(data) {
        alert(data);
    })
В плагине http://jdevtools.com, обрабатываем сообщение (События для плагинов)
Код: php-brief
if (JFactory::getApplication()->input->getInt( 'ajax')){
die('<h1>Получено</h1>');
}
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
Re: Подключение фреймворка
« Ответ #5 : 19.06.2013, 20:50:35 »
Возьмите любой плагин из стандартной комплектации ZOO, напр., собыйтий.
Добавьте в него функцию:
Код: php
function onAfterDispatch() {

if($this->app->system->application->isSite()
&& $this->app->request->getCmd('option') == 'com_zoo'
&& $this->app->request->getInt('ajax') == 1) {

echo "!";

jexit();

}
}
Запрос формируйте на адрес: index.php?option=com_zoo&task=frontpage&app_id=222&ajax=1&tmpl=component
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
Re: Подключение фреймворка
« Ответ #6 : 20.06.2013, 13:55:33 »
Да дело в том, что данные получаю с помощью js. Эти данные постоянно обновляются. Потом нужно этот json передать php. И тут не понимаю, как на нужной странице сохранить сессию и без перезагрузки страницы вывести данные.

jquery.load нужного div


Код

jQuery('#div').load(window.location.href+' #div');


и данные в нужном div поменяются в зависимости от принятых
R331474010295
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Подключение "модуля" с html-кодом

Автор winka4ka

Ответов: 6
Просмотров: 1724
Последний ответ 08.10.2015, 17:15:15
от winka4ka