我对Drupal比较新。我们有一个网站,我被要求跳进去做一些改变。我正在定制Webforms模块的输出。我无法这样做,因为我似乎无法找到Webforms使用的各种数据结构的引用。
例如,我需要在预处理钩子中更改某些内容。传入钩子的是一个名为$ variables的结构。我可以看到属性被添加到我想要更改的部分,所以我知道我正处于正确的状态。我想要做的是在文本中添加一些内容。但是我无法弄清楚文本中$ variables的位置,所以我可以改变它。
我确信我需要改变的是在那里,但我似乎无法实现它。我在网上找到的所有文档都是“粘贴此代码”或假设您知道数据结构。
所以:
1。这些结构的位置是否有参考? $variables
就是一个。 $submission
,$components
是其他人。可能还有更多。我知道他们的内容因具体的网络形式而异,但寻找一般参考。
2. 如何从钩子内部看到其中一个结构的内容?我尝试了很多东西,但没有运气。将它输出到Apache日志或显示在屏幕上会很棒......
非常感谢任何帮助。感觉这里有真正的力量,但我无法理解,因为我缺少一些基础知识。
答案 0 :(得分:1)
我会说你需要安装2个模块来弄清楚发生了什么......
首先Devel,允许您使用dmp功能。这将输出整个数组到消息区域。
然后是我最喜欢的模块Search Krumo。
从大量数据生成webform并找到与您相关的位通常很难看到dmp输出。搜索Krumo在消息区域中放置一个搜索框,允许您在整个阵列结构中搜索字符串的任何实例。当您找到相关的位时,它还允许您复制该数组元素的路径,以便您可以轻松修改深埋在多个数组中的值。
编辑:
如果您不想在屏幕上输出但宁愿记录它,请使用Devel Debug Log。对于调试ajax请求等非常有用。
如果您只需要记录简单字符串而不是整个数组,那么假设您具有SSH访问权限,dd函数与:tail -f /tmp/drupal_debug.txt
结合使用是非常有用的。