Как получить данные в админке о которых сразу не известно?

  • 2 Ответов
  • 254 Просмотров

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

*

Оффлайн platonische

  • ****
  • 320
  • [+]0 / [-]0
  • Парусные экспедиции vk.com/tc670
    • Просмотр профиля
    • Сплавы на байдарках
Подскажите каким путем идти, если одно из полей зависит от другого в этом же элементе.

В моем случае есть параметр route_id который отвечает за связь с маршрутом, в этом маршруте хранится переменная с массивом для выбора места встречи.
Для выбора места встречи создан тип поля на основе list и данные я могу получить только если знаю route_id. В пользовательской части все оказалось проще... там в запросе присутствовал параметр при создани по которому я выловил данные...

Вопрос как это сделать в админке. АЯКС может или еще чего? Если Аякс то дайте небольшие пояснения.
Парусные экспедиции http://vk.com/tc670, сплавы на байдарках http://vk.com/magnittv_turism


*

Оффлайн Joker_V

Скопировал уже существующий вариант, разберешься если захочешь:
Вот скрипт для получения данных по запросу
Код: (javascript) [Выделить]
    $.getJSON('index.php?option=com_documents&task=documenttypeajax.getdoctypetext&typedoc='+typedoc+'&format=json',function (res){
        if (res.data!="") {
            $('iframe#jform_shapka_ifr').contents().find('body').empty().append(res.data);
        }
    });
Создаем файл в папке controllers данного компонента documenttypeajax.json.php
Код: (php) [Выделить]
class DocumentsControllerDocumentTypeAjax extends JControllerLegacy
{
    public function getDocTypeText(){
        try
        {
            $typedoc = (int)JFactory::getApplication()->input->get('typedoc');
            if ($typedoc>=0) {

                $db = JFactory::getDbo();
                $query = $db->getQuery(true)
                    ->select($db->quoteName('fulltext'))
                    ->from($db->quoteName('#__dc_typedoc'))
                    ->where('id' . '=' . $typedoc);
                $db->setQuery($query);
                $result = $db->loadResult();
                if ($result) {
                    echo new JResponseJson($result);
                } else {
                    echo new JResponseJson(JText::_('COM_DOCUMENTS_TYPEAJAX_NO_RESULT'),false);
                }
            }
        } catch(Exception $e) {
            echo new JResponseJson($e);
        }
    }
}
Поищи информации про JResponceJson, очень полезный класс.