如何从组件传递值或在特定页面上设置某个值,然后可以在joomla的插件或模块中使用?
例如,在此视图中:index.php?option=com_mycom&view=myview
将设置$a = 1
(可以从数据库生成)。
每次有人来到这个地址,都会有一个变量$a = 1
我可以在我的插件中使用它。
我知道有些人建议使用会话,但这对我来说不是解决这个问题的好方法。
答案 0 :(得分:0)
我知道有个老问题,但是这里没有答案,而且上面的原始评论有一些变化。 let flutterChannel = FlutterMethodChannel.init(name: "iOS", binaryMessenger: flutterViewController);
flutterChannel.setMethodCallHandler { (flutterMethodCall, flutterResult) in
if flutterMethodCall.method == "openSermonPlayer" {
UIView.animate(withDuration: 0.5, animations: {
self.window?.rootViewController = nil
let viewToPush = PlayerTabViewController()
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.makeKeyAndVisible()
self.window.rootViewController = viewToPush
})
if CheckIfPlaying.sharedInstance.quitSermon == true {
CheckIfPlaying.sharedInstance.quitSermon = false
let result = ["restart_ui": self.switchBack()]
flutterResult(result)
}
}
在最新版本的Joomla中已过时。
当前执行此操作的方法是:
在您的组件代码中:
JRequest
在您的模块/插件代码中:
$app = JFactory::getApplication();
$app->input->set('myvar', 123);
正如您所说,使用会话对象是另一种实现方法,但是它有明显的缺点,即在Web请求之间持久存在,这通常不是您想要的。