使用哪个钩子从节点数据插入JavaScript变量
我使用以下函数作为从节点字段插入js变量的概念证明 它位于使用哪个钩子从节点数据插入JavaScript变量,javascript,drupal,drupal-7,Javascript,Drupal,Drupal 7,我使用以下函数作为从节点字段插入js变量的概念证明 它位于hook\u preprocess\u html()中,因为js已经在以后的hook中呈现。通常我会从$vars['node']获取变量,但我认为它不存在于hook\u preprocess\u html()中 是否有更好的方法来访问节点字段变量(可能在以后的钩子中)?当传递给预处理函数的变量中没有节点对象时,您可以从中获取节点对象,默认情况下,该节点返回一个对象,其ID作为URL的第二个元素传递(例如“node/1”)。如果路径不是以“
hook\u preprocess\u html()
中,因为js已经在以后的hook中呈现。通常我会从$vars['node']
获取变量,但我认为它不存在于hook\u preprocess\u html()中
是否有更好的方法来访问节点字段变量(可能在以后的钩子中)?当传递给预处理函数的变量中没有节点对象时,您可以从中获取节点对象,默认情况下,该节点返回一个对象,其ID作为URL的第二个元素传递(例如“node/1”)。如果路径不是以“node”开头,这意味着显示的页面不是节点页面,那么函数将返回NULL
if ($node = menu_get_object()) {
// The URL for the page being shown is node/<nid>.
}
if($node=menu\u get\u object()){
//正在显示的页面的URL为node/。
}
如果要使用在$variables
数组中传递节点对象的预处理函数,则可以使用hook\u preprocess\u page()
,对于该函数,$variables['node']
也可以为空,或者hook\u preprocess\u node()
,节点对象始终在$variables['node']中传递
当传递给预处理函数的变量中没有节点对象时,您可以从中获取节点对象,默认情况下,该节点返回其ID作为URL的第二个元素传递的节点的对象(例如“节点/1”)。如果路径不是以“node”开头,这意味着显示的页面不是节点页面,那么函数将返回NULL
if ($node = menu_get_object()) {
// The URL for the page being shown is node/<nid>.
}
if($node=menu\u get\u object()){
//正在显示的页面的URL为node/。
}
如果要使用在$variables
数组中传递节点对象的预处理函数,则可以使用hook\u preprocess\u page()
,对于该函数,$variables['node']
也可以为空,或者hook\u preprocess\u node()
,节点对象始终在$variables['node']中传递
谢谢,这正是我需要的;)谢谢,这正是我需要的;)