欢迎各位兄弟 发布技术文章
这里的技术是共享的
关于 render /node/992 这个有大用
d6,d7中一般是一样的,稍微有点区别
d6中的 node.tpl.php中$node节点的字段变量的例子
<a href="<?php print $node_url; ?>" ><?php print $node->field_jiao_cheng_img[0][view];?></a>//这个是img图字段
<a href="<?php print $node_url; ?>" target="_blank"><?php print $title; ?></a>//这里title
<p><?php print $node->field_jiao_chen_desc[0][value]; ?>...</p>//求的是自定义的描述字段
<?php print current($node->taxonomy)->name; ?> //求当前的分类的名字
<?php
$item_nid = $node->field_persona[0]['nid'] ;
$item_node = node_load($item_nid); //这是 devel
$item_node = node_build_content($item_node); //这是devel render
$item_desc = $item_node->field_qualifica[0]['view'];
print $item_desc;
?>
在devel模块中 有
Dev load Dev render
我们应以 Dev render 为准
我们切换到 garland主题 在左边区块加上 devel 功能
我们到node 的dev看看 dev render的情况
也可 直接在 node的dever/ 的路径的情况下 直接加上 /render 即可
看到dev render的情况
node.tpl.php中
输出body值
<?php print $node->content['body']['#value']; ?>
输出自定义字段的值
<?php print $node->field_photos[0]['data']['title'], 0, 20); ?>
如果是$node对象的字段 又好像可以直接输出
如 <?php print $nid; ?>
好像也可以
在吗
[广州]nemo-drupal 23:18:11
说吧
泪痕_元怜 23:18:25
<?php print render($content['field__feedom_tags']); ?>
$content['field__feedom_tags'] 这是一个数组 如何覆写 render 的输出呢
真的感谢你 从来没有拒绝帮助我
[广州]nemo-drupal 23:18:53
不太妨碍时间我都帮
你可以这么来
[广州]nemo-drupal 23:19:58
$node->field__feedom_tags 有tags的信息,用这个来遍历
要复写$content['field__feedom_tags']的话,数组里有个元素#theme
复写这个的值,不过我没试过,你可以试试
泪痕_元怜 23:21:05
好的
不过 是用 theme的什么函数呢
泪痕_元怜 23:22:05
还是在 template.php 自定义一个函数
[广州]nemo-drupal 23:22:05
template.php自定义一个
泪痕_元怜 23:22:21
好的
[广州]nemo-drupal 23:22:19
比如#theme的值是theme_xxx
template里[themeName]_xxx
泪痕_元怜 23:24:48
嗯
google drupal override node field
覆写字段的顺序
leyouji_field__field__feedom_tags()
Candidate function names:
leyouji_field__field__feedom_tags___spot
< leyouji_field___spot <
leyouji_field__field__feedom_tags
< leyouji_field__taxonomy_term_reference
< leyouji_field
Preprocess functions:
template_preprocess_field + rdf_preprocess_field
Process functions:
template_process_field
我们做这种操作的时候 是否要清空缓存
假使你的这个文章所在的内容类型叫 article
article 的 field_image 是放图片,title 是标题, body 是内容。
1,打开bartik主题的文件夹,找到node.tpl.php 复制一份 改名为 node--article.tpl.php
2,打开node--article.tpl.php 找到 print render($content); 改为 print render($content['field_image']); 清空缓存看看,这个时候,页面就只显示内容的图片部分,内容部分不见了
3,依次把其他字段一个一个的加上,这样就能自定义样式了。
如:
html:
<div class="drupalla">
<div class="title"><?php print $title;?></div>
<div class="pic"><?php print render($content['field_image']);?></div>
<div class="desc"><?php print render($content['body']);?></div>
</div>