Написал модуль, который при просмотре flypage продукта, извлекает из базы все продукты данного производителя и генерирует меню в виде списка ссылок на эти продукты. Вопрос: Как передать id продукта в модуль? Пробовал передавать переменную с id через сессию, не получилось. В PHP начинающий. Заранее благодарен.
Начнем с того, что вместо правильного ид злоумышленник может подсунуть какую нить инъекцию, т.е. необходим фильт, так что рекомендую пользоваться JRequest::getInt или другими методами этого класса. А по поводу передачи параметра в модуль, думаю можно двумя способами: 1. Через гет/пост , что на мой взгляд, самое удобное и простое в реализации 2. Написать плагин, который бы отлавливал нужные вам переменные. Но это требует хорошего знания пхп+джумлы апи+мвц. И пригодиться только для использования в "промышленных" масштабах ))))
я, иногда объявлял нужную мне переменную в одной части как global и потом выцеплял в нужных мне модулях, но это, конечно, костыль
$id=JRequest::getVar('product_id'); Можно использовать и getInt. Инъекций не будет в любом случае, так, как JRequest обрабатывает переменные функцией htmlspecialchars. SEF в VM нет, так что можно не переживать по этому поводу.
В принципе, это довольно красивый способ, если компонент выполняется раньше модулей. Никогда не пробовал.