#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.