joomla 3 получает параметры из модуля и выводит их

#joomla

#joomla

Вопрос:

Я перепробовал несколько способов сделать это, но не могу заставить что-либо работать. Моя проблема в том, что я хочу передать параметр из моего модуля в переменную и вывести его в моем html, через default.php досье.

Вот моя конфигурация в формате xml:

 <config>
 <fields name="params">
            <fieldset name="basic">
               <field  name="prod_price"
                    type="text"
                    size="50"
                    label="Product Price"
                    description="Enter the product price" />
             </fieldset>
       </fields>    
    </config> 
 

Я думаю, что это нормально, поскольку это отображается в фоновом режиме.

Мой mod_helloworld.php файл прост и включает в себя helper.php требовать, см. Ниже:

 defined('_JEXEC') or die;
// Include the syndicate functions only once
require_once dirname(__FILE__) . '/helper.php';
$hello = modHelloWorldHelper::getHello($params);
$mydata = modHelloWorldHelper::getMydata($params);
require JModuleHelper::getLayoutPath('mod_helloworld');
$document = JFactory::getDocument();
$document->addStyleSheet('modules/mod_helloworld/css/style.css');
$document->addScript('modules/mod_helloworld/js/test.js'); 
 

Я думаю, это нормально, все переменные возвращают значения.

Мой helper.php файл выглядит так, как показано ниже:

 class ModHelloWorldHelper
{
    public static function getHello($params)
    {
        return 'Hello, World!'; 
    }
    public static function getMydata($params)
    {
        return 'Hello, World! ';    
    }
}
 

Затем я повторяю эти переменные в своем default.php и они выводят нормально. Я думаю, что мне нужно как-то получить переменную $params и сослаться на prod_price, но, похоже, я не могу этого сделать. Я новичок в создании модулей, поэтому прошу прощения за любые очевидные ошибки. Если функция getMyData может собирать параметры, то я, возможно, мог бы их вывести, но я не уверен, куда поместить код?

С уважением,

Джеймс

Комментарии:

1. Если вы действительно хотите использовать свой вспомогательный класс, тогда назначьте $params по ссылке ( amp;$params ) и получите параметры через JFactory::getApplication()->getParams; . Я предлагаю вам проверить основные модули (т.Е. mod_article_latest) или другие модули, чтобы узнать, как получить то, что вы хотите. И, кстати, есть Joomla StackExchange .

Ответ №1:

предположим http://examples.com/index.php?prod_price=20

Вы можете получить эти данные в своем модуле через

 $price = JFactory::getApplication()->input->get('prod_price',0);
 

он получит запрос post или get.