繁体   English   中英

主题node-xxx.tpl.php

[英]Theming node-xxx.tpl.php

我是drupal主题的新手。 我要执行以下操作:我有一个要处理的产品内容类型,即node-product.tpl.php,该产品内容类型的CCK字段类型为“嵌入式视频”(使用位于http:的Media模块) : //drupal.org/project/media )。 因为我需要将“嵌入式视频”字段包装为

我想添加到我的node-product.tpl.php的一些php代码,如下所示:“ print theme(...)”

我在sites / all / modules / cck / content-module文件中发现以下功能:

“ function content_theme(){

$ path = drupal_get_path('module','content')。'/ theme'; require_once“ ./$path/theme.inc”;

return array('content_field'=> array('template'=>'content-field','arguments'=> array('element'=> NULL),'path'=> $ path,),“ ...

从该代码中,我假设我的代码应为:“ print theme('content_field',$ element)”

几个问题:1.我走对了吗? 我应该使用主题功能吗,我要调用正确的cck钩子主题吗? 2.假设我是正确的,我不能说出$ element参数应该是什么,在我的node-product.tpl.php上,我有包含大量数据的$ node参数,我怎么能从$ node参数应该发送给theme(...)函数的正确$ element吗? 3.与浏览模块的代码相比,有没有一种方法可以找到每个模块的已注册主题挂钩名称及其期望获取的参数?

感谢您阅读我的长期提问,我们将不胜感激。

CCK字段在节点对象上可用,有两种格式:

  • $node->field_[field_name]
  • $node->field_[field_name]_rendered

呈现的版本是CCK字段的主题版本,包含所有标记,另一个版本是包含呈现的版本和CCK已存储的其他数据的数组。

您无需使用主题功能就可以使用CCK在节点对象上注入的数据来完成所需的操作。

下次使用print_r()函数。 ;-)例如,在这种情况下,查找print_r($ node),您会看到很多好东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM