php - 如何将模板 index.php 中的变量传递给 Joomla 中的组件?
问题描述
我使用 joomla 3.9.24。在我的模板中,我必须将一个变量传递给组件(特别是 com_content / article)。在实践中,根据某个位置是否有模块,必须在文章中报告标题。JRequest 已被弃用,正如Joomla pass value from component to use in plugin and module 中所建议的那样,我写了这个:
在模板 index.php 文件中
title_var = 1;
...
$app = JFactory::getApplication();
$input = $app->input;
$input->set('title_var', $title_var);
在 default.php 文件中
$app = JFactory::getApplication();
$input = $app->input;
$title_var = $input->get('title_var');
但它不起作用!例如,如果我插入
var_dump($input);
在这两个文件中,在同一页面中,我将显示两次输入数据,除了我的 title_var 在组件的 var_dump 中根本没有出现,就好像数据没有通过一样。
我该如何解决?
更新:同样使用模板参数
在模板 index.php 文件中
$app = JFactory::getApplication();
$params = $app->getTemplate(true)->params;
...
$variable = $params->set('var_title', $var_title);
在 default.php 文件中类似
$app = JFactory::getApplication();
$paramsT = $app->getTemplate(true)->params;
...
$variable = $paramsT->get('var_title'); #result null
解决方案
您可以使用会话将变量从模板传递到组件。
其次,您可以使用模板参数..
推荐阅读
- php - 从认证网站获取数据(室温)以将其可视化
- opengl - 为什么我不能在四边形上渲染我的深度图?
- pycharm - 可以在从命令行运行的 Python 脚本上运行 PyCharm CE 的 Python 调试器吗?
- javascript - NodeJS 事件循环的确切处理是什么?
- python - 使用 Shell 连接到 API 工作,但带有 Python 请求库会抛出 400 Client Error: Bad Request for url
- javascript - 有没有办法让双击事件在带有香草 JavaScript 的手机中工作?
- excel - Excel 自定义函数:控制混合(字符串)输出的过滤器/排序行为
- ios - 保存 ScrollViews 位置并稍后滚动回它(偏移到位置)
- css - Gulpfile:如何将每个 SCSS 编译成具有相同名称但具有其他通用样式的单独 CSS
- c - 对标准输出的混合写入和对 WriteConsole 的调用是否总是以相同的顺序打印到控制台?