首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal:将变量从预处理传递到template.php?

问Drupal:将变量从预处理传递到template.php?
EN

Stack Overflow用户
提问于 2009-10-28 19:00:36
回答 2查看 2.6K关注 0票数 2

如何在名为sitename_modulename_user_loginblock($form)的函数中将预处理函数中的值传递给template.php?

我在预处理函数中创建了一个自定义查询的值,这样我就可以在登录块函数本身中创建该值,但是只有$form可用,并且我需要另外3个变量来构造查询。

loginblock函数返回$output,它是标记和一些变量。afaik在此函数与其返回值在页面上的显示之间是否没有额外的步骤?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-28 19:55:15

要将预处理函数传递给template.php填充$vars[]数组,您指定的键将是模板中的变量名,值是变量值,因此:

代码语言:javascript
复制
$vars['foo'] = "bar";

函数将在模板中创建一个值为“$foo”的条形图。

我对你想要做的事情有点困惑。理想情况下,logingblock应该是一个块,而不是在预处理过程中创建的东西。你可能想看看这个选项。

票数 1
EN

Stack Overflow用户

发布于 2009-10-29 06:44:12

正如Jeremy所说,你想做什么并不是很清楚,所以也许你应该编辑你的问题来澄清。

在我看来,您似乎想要在您的主题template.php中使用自定义版本覆盖默认的user_login_block()函数。如果是这种情况,您不能将变量从预处理函数传递到那里,因为这些函数只为其相应的*.tpl.php文件准备变量。

此article on overriding form functions可能会有所帮助,具体取决于您想要实现的目标。

命名意义重大。要使该函数作为重写使用,您必须将其命名为themename_user_loginblock($form)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1636554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档