我创建了一个显示我的主页的视图,但现在需要进行修改:我在视图中加载了2个字段(图像),但只需要显示其中一个,具体取决于第三个(日期)字段的值和今天的日期。如果日期字段晚于今天,则显示图像y,如果它早于今天显示图像x。这种逻辑不能在一种观点中完成。
所以在我的template.php id中,喜欢在preprocess_page函数中输出x或y作为$ vars ['img']。我只是想知道,我如何得到这些领域的价值观?它不是节点而是节点标记列表。
感谢您的任何指示!
答案 0 :(得分:0)
我确信有一些方法可以做到这一点,有些方法比其他方式更黑。我会:
这个解决方案非常简单直接,缺点是它并不完全通用,因为您很可能需要知道您正在使用的cck字段名称。无论如何你都能够概括这一点是值得怀疑的。
修改强>
澄清一下。您可以查看正在使用的常规视图模板,它将为您提供有关视图如何打印不同字段的一些信息。通常,在拥有$ node对象时,获取字段通常不是一个大问题。原因是cck将字段添加到$ node对象,以便您可以在那里访问它。我相信你可以在$ node-> field_ [the_name]的行中做些什么来到这个领域。我建议您使用devel模块,如果您还没有,并在模板中的某个地方执行dpm($ node)循环节点。这将使您能够查看$ node对象上已定义的内容。从那里打印img应该不是一个大问题。
答案 1 :(得分:0)
如何使用preprocess_node()
呢?