【问题标题】:joomla 3+ get parameters from module and output themjoomla 3+ 从模块获取参数并输出它们
【发布时间】:2016-11-21 18:36:54
【问题描述】:

我已经尝试了几种方法来做到这一点,但无法让任何事情发挥作用。我的问题是我想将一个参数从我的模块传递给一个变量,并通过 default.php 文件将其输出到我的 html 中。

这是我在 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 函数可以收集参数,那么我也许可以输出它们,但我不确定将代码放在哪里?

亲切的问候,

詹姆斯

【问题讨论】:

  • 如果你真的想使用你的帮助类然后通过引用分配$params (&amp;$params) 并通过JFactory::getApplication()-&gt;getParams; 获取参数。我建议您检查核心模块(即 mod_article_latest)或其他模块,以了解如何获得您想要的。顺便说一句,还有Joomla StackExchange

标签: joomla


【解决方案1】:

假设http://examples.com/index.php?prod_price=20

您可以通过

在您的模块中接收该数据
$price = JFactory::getApplication()->input->get('prod_price',0);

它将接收 post 或 get 请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 2014-07-06
    相关资源
    最近更新 更多