【问题标题】:Joomla pass value from component to use in plugin and moduleJoomla 从组件传递值以在插件和模块中使用
【发布时间】:2013-08-25 23:13:05
【问题描述】:

如何从组件传递值或在特定页面上设置特定值,然后它可以在 joomla 的插件或模块中使用?

例如,在这个视图中:index.php?option=com_mycom&view=myview 将设置$a = 1(它可以从数据库中生成)。

每次人们来到这个地址都会有一个变量$a = 1,我可以在我的插件中使用它。

我知道有些人建议使用 session,但这对我来说不是解决这个问题的好方法。

【问题讨论】:

  • 我不确定这是否是一个“答案”,但您可以使用 JRequest::set/get 这将使内容在全局范围内可用,但不一定在 cookie 中,并且 var 会仅适用于每个页面请求。 api.joomla.org/Joomla-Platform/Environment/JRequest.html
  • 正如 udjamaflip 所说,通过 url 传递值

标签: php joomla joomla2.5


【解决方案1】:

老问题,我知道,但这里没有答案,而且事情与上面的原始评论略有不同。 JRequest 现在在最新版本的 Joomla 中已弃用。

目前的做法是:

在您的组件代码中:

$app = JFactory::getApplication();
$app->input->set('myvar', 123);

在您的模块/插件代码中:

$app = JFactory::getApplication();
$app->input->get('myvar');

正如您所说,使用会话对象是另一种方法,但它有一个明显的缺点,即在 Web 请求之间持久化,这通常不是您想要的。

【讨论】:

    猜你喜欢
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2010-12-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    相关资源
    最近更新 更多