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

lottis

  • Захожу иногда
  • 181
  • 11 / 0
 ! Уже совсем замучался с написанием компонента под MVC Joomla 1.5. Помогите решить такую задачку, уже сил нет с этим биться:
есть модель в ней прописал функцию get_city() отдает такой код:
Код
 [ {"id":"4400","label":"Москва","value":"Москва"}, {"id":"5348","label":"Новомосковск","value":"Новомосковск"}, {"id":"9991","label":"Новомосковск","value":"Новомосковск"}, {"id":"278066","label":"Московский","value":"Московский"}] 

в зависимости от того какой город она получила на вход через ссылку http://localhost/site.ru/index2.php?option=com_qcalc&view=catalog&task=get_city&term=москва

все было-бы классно, но вместе с кодом какого-то лезет ещё HTML.
Спойлер
[свернуть]
Так вот как можно получить только данные от моей функции, без HTML?
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Нужно обращаться примерно так:
/index.php?option=com_qcalc&format=json&view=catalog&task=get_city&term=москва
или так:
/index.php?option=com_qcalc&tmpl=component&view=catalog&task=get_city&term=москва
предварительно создав в папке шаблона файл component.php содержания:
Код
<?php defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
<jdoc:include type="component" />
*

lottis

  • Захожу иногда
  • 181
  • 11 / 0
Спасибо, только что нашел решение, оказывается можно передать параметр &no_html=1 и тогда мы получим ответ сервера  без HTML.
Ссылка будет выглядеть так:
 http://localhost/site.ru/index2.php?option=com_qcalc&view=catalog&task=get_city&no_html=1
*

Shustry

  • Гуру
  • 6436
  • 744 / 3
Пожалуйста. Я обычно примерно так и делаю. Передаю какой-нить параметр типа vid=ajax, потом в index.php шаблона проверяю его наличие и, при наличии, вывожу только jdoc:include type="component"
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Можно проще. В контроллере получаем из модели строку JSON
и дальше просто обрываем выполнение контроллера
Код: php
$sity = $model->getSity(); 
echo $sity;
die();
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

lottis

  • Захожу иногда
  • 181
  • 11 / 0
Можно проще.
Хм, интересное решение!.) Может подскажите как правильно сформировать JSON используя Joomla?
а то у меня средствами Joomla мало что выходит - на РНР запросто, а вот через Joomla через $data = $db->loadAssocList(); что-то никак.) Там дело в последней запятой, которую нужно убрать, так как значения нет.
Код
[code=php]$query = "SELECT city_id, name FROM `jos_tlog_city` WHERE LCASE...............')";
        $db->setQuery( $query );[code=php]
       $data = $db->loadAssocList();
echo '[';
        foreach ($data as $val) {
             echo $val = "{\"id\":\"".$val["city_id"]."\",\"label\":\"".$val["name"]."\",\"value\":\"".$val["name"]."\"},";
         }
        
        echo ']';[/code][/code]
Выведет
Код
 [{"id":"4400","label":"Москва","value":"Москва"},{"id":"5348","label":"Новомосковск","value":"Новомосковск"},{"id":"9991","label":"Новомосковск","value":"Новомосковск"},{"id":"278066","label":"Московский","value":"Московский"},]
А вот jQuery не хочет с последней запятой в запросе работать, не катит, а как её убрать - ума не приложу. В обычном рнр через while сделал - все клёво, но хочу используя фреймворк Joomla..
« Последнее редактирование: 26.03.2012, 02:21:38 от lottis »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 732 / 7
  • Все начинается с Value
*

lottis

  • Захожу иногда
  • 181
  • 11 / 0
вау - так просто! ))) а я там горожу структуры с разбором массивов)))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

получить ID материала, категории, раздела в шаблоне

Автор e-life

Ответов: 16
Просмотров: 19098
Последний ответ 15.05.2017, 07:36:09
от LadaDed
AJAX для модуля на 1.5

Автор voland

Ответов: 2
Просмотров: 959
Последний ответ 04.03.2016, 12:08:41
от b2z
Как получить ID для каждого выводимого модуля на странице

Автор enshtein

Ответов: 6
Просмотров: 5137
Последний ответ 12.01.2012, 08:54:19
от enshtein
Внедрение AJAX в компонент

Автор b2z

Ответов: 12
Просмотров: 4213
Последний ответ 03.12.2010, 21:38:04
от yunoshev
Передача JavaScript средствами AJAX

Автор volod3000

Ответов: 1
Просмотров: 1742
Последний ответ 12.05.2010, 23:43:16
от volod3000