在会话变量Drupal 7中存储数据数组

时间:2013-07-12 14:02:37

标签: php drupal drupal-7

Array
( [step1] => 1
[step2] => 18 
[step3] => 2000 
[step4] => Array ( [crdStat] => step3-slctcrdtcrd )
[step5] => Array([cardName] => Test     )
[step6] => Array([mnthSpend] => 1000 )
[step7] => Array ([payFrq] => undefined )
[step8] => Array([rolAmnt] => 344   )

目前我只是以PHP方式分配

 $_SESSION['mcwizard'][$step]['bTransStat'] = $_GET['bTransStat'];  

我想在Drupal 7的会话中保存这个数组。实现这一目标的最佳Drupal 7方法是什么。所以我可以在应用程序的任何地方使用这些会话变量。

谢谢

2 个答案:

答案 0 :(得分:1)

在常规$ _SESSION全局之外,实际上没有一种Drupal方法可以设置会话变量。但是在选择放置位置时应该小心。如果你把它放在一个Hook中,你需要确保钩子不会被缓存并且总是被调用,否则你的变量不会每次都更新并且可能已经过时了。希望这有所帮助,抱歉没有Drupal这样做的方式!

答案 1 :(得分:1)

你这样做的方式是正确的(将变量存储在会话变量中),但是如果要为Drupal中的所有页面调用它,请使用以下两个钩子中的一个:

1)hook_init()
2)hook_boot()