Joomla - преобразование строки params в массив $params
Бывают ситуации когда надо вытащить параметры какого нибудь модуля для использования его настроек на собственные нужды. Один из таких примеров интеграция плагина с модулем для корректной работы в компоненте. В общем с чем я сталкиваюсь в проектировании сложных систем на Joomla
И так. Как вытащить параметр модуля думаю не стоит описывать. Тупо подключаемся к БД, делаем запрос на нужный модуль и получаем строку с параметрами. К примеру в таком виде
{"layout":"default","method":"get","limit":"10","Parent_Category_id":["4","6"]}
Для преобразования строки в массив воспользуемся функцией JParameter
jimport('joomla.html.parameter'); // импорт библиотеки $str = '{"layout":"default","method":"get","limit":"10","Parent_Category_id":["4","6"]}'; $params = new JParameter( $str ); // Создание объектного массива echo $params->get('layout'); // Результат - default echo $params->get('method'); // Результат - get echo $params->get('limit'); // Результат - 10 echo $params->get('Parent_Category_id'); // Результат - array(2)
Еще один способ преобразовать JSON в объектный массив средствами php
$str = '{"layout":"default","method":"get","limit":"10","Parent_Category_id":["4","6"]}'; $params = json_decode($str); echo $params->layout; // Результат - default echo $params->method; // Результат - get echo $params->limit; // Результат - 10 echo $params->Parent_Category_id; // Результат - array(2)
Вот и вся соль. Ничего сложного, просто заметка на память.