Joomla 1.5 Как с пом. ajax сделать 2 зависимых select'a?

Тема в разделе "Программирование", создана пользователем cadavre, 19.10.2011.

  1. Offline

    cadavre Недавно здесь

    Регистрация:
    28.09.2011
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Доброго времени суток, ув. джумла-кодеры и остальные читатели :)

    Задача: при выборе из первого select'a, с пом AJAX нужно выбрать из БД данные и отобразить во 2-м select'e

    Подскажите, как это можно реализовать?
     
  2.  
  3. Tureckiy
    Offline

    Tureckiy специалист

    Регистрация:
    11.04.2009
    Сообщения:
    423
    Симпатии:
    30
    Пол:
    Мужской
    можете посмотреть как сделано редактирование контента в админке Джумлы 1,5, когда при выборе раздела меняется категория. Сам я исользую исключительно Jquery и его ajax если надо - - пишите, приведу пример.
     
  4. Offline

    cadavre Недавно здесь

    Регистрация:
    28.09.2011
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Прикрутил функцию на дефолтном mootools, данные летят в контроллер, но при дальнейшей обработке возникает проблема - модель отказывается принимать параметры.
    Controller:
    Код (PHP):
    1. public function getSelect() {
    2.     $id = JRequest::getVar('select_list');                 
    3.     $model = $this->getModel('test');          
    4.     $model->getTestData($id);                
    5. }

    Model:
    Код (PHP):
    1. public function getTestData($id) {
    2.     $db =& JFactory::getDBO();                        
    3.     $id = intval($id);
    4.     $query = 'SELECT `id` FROM `#__test_table` WHERE id=' . $id . '';
    5.     $db->setQuery($query);
    6.     $rows = $db->loadObjectList();      
    7.     return count($rows);
    8. }

    view.html.php
    Код (PHP):
    1. public function display($tpl = null) {                                                             
    2.     $tCount =& $this->get('TestData');
    3.     $this->assignRef('tCount', $tCount);        
    4.     parent::display($tpl);
    5. }


    Ругается так:

    Warning: Missing argument 1 for TestModelTest::getTestData(), called in /home/cadavre/web/joomla/libraries/joomla/application/component/view.php on line 364 and defined in /home/cadavre/web/joomla/administrator/components/com_test/models/test.php on line 40

    В чем может быть проблема? Как передать параметры в модель?

    Тема уже к AJAX'у не относится, просто не охота начинать новый топик
     
  5. Offline

    cadavre Недавно здесь

    Регистрация:
    28.09.2011
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Или же подскажите как скинуть данные в нужный view

    с getView что-то не получилось....

    Код (PHP):
    1. public function edit()  {                
    2.     JRequest::setVar( 'view', 'test' );
    3.     JRequest::setVar( 'layout', 'form'  );
    4.     JRequest::setVar( 'hidemainmenu', 1);
    5.  
    6.     $id = JRequest::getVar('select_list');                     
    7.     $model = $this->getModel('test');    
    8.     $result = $model->getTestData($id);                
    9.     parent::display();
    10. }


    нужно передать $result в определенный view для дальнейших действий
     
  6. Tureckiy
    Offline

    Tureckiy специалист

    Регистрация:
    11.04.2009
    Сообщения:
    423
    Симпатии:
    30
    Пол:
    Мужской
    получайте данные сразу в нужном контроллере с моделью, так как вы хотите - нельзя
     
  7. Offline

    TroL специалист

    Регистрация:
    01.03.2011
    Сообщения:
    502
    Симпатии:
    34
    Пол:
    Мужской
    пишется скрипт аяксовский тип джесон(если надо получить масив из пхп файла) который отрпавляет переменную в файл через ПОСТ, модуль ловит переменную и после делаеш запрос к бд по этой переменно, обработка там обычная если надо, в конце получаешь нужное значение, выводишь его через echo $переменная а в самом конце die(); (что бы не подружалась вся страница)ю аякс получает ту переменную что была в echo. и дальше опять скрипты доделывают свое дело добавляют селект с нужными данными...
     

Поделиться этой страницей

Загрузка...