render()和主题()字段 -- theming 领域 和 regions 领域 drupal 相关 的问题

render() and theme() fields


2
vote

问题

中文

我想从节点分配一些内容,让我们说 body 字段,进入一个区域。所以我不能在我的 node.tpl.php

中主题这个内容

template_process_page(&$vars) 我可以轻松设置 $page['my_region'] = HTML.

$vars['node']->body 我可以访问我的身体领域达达。从那里,我想使用常规主题函数来渲染正文字段。使用 theme('field',$variables) render($variables) 我需要从:

汇集body-arrow
数组 (     [und] =>大批         (             [0] =>大批                 (                     [值] =>文本                     [摘要] =>                     [格式] => full_html.                     [safe_value] =>文本                     [safe_summary] =>                 )          )  )

to sth,如:

数组 (     [#theme] =>场地     [#weight] => 1     [#title] =>身体     [#access] => 1     [#label_display] =>隐     [#view_mode] =>满的     [#language] => und.     [#field_name] =>身体     [#field_type] => text_with_summary.     [#field_translatable] => 0.     [#entity_type] =>节点     [#bundle] =>文章     [#Object] => stdclass对象         (...)     [#ITEMS] =>大批         (             [0] =>大批                 (                     [值] =>文本                     [摘要] =>                     [格式] => full_html.                     [safe_value] =>文本                     [safe_summary] =>                 )         )     [#formatter] => text_default.     [0] =>大批         (             [#markup] =>文本         ) )

但我不知道究竟。如何使用第二个数组 - Achitecture生成我的字段。如果可能的话,没有更多的db查询。

谢谢你的帮助!

英文原文

I would like to assign some content from a node, lets say the body field, into a region. so I cannot theme this content in my node.tpl.php

In the template_process_page(&$vars) i can easily set $page['my_region'] = HTML.

with $vars['node']->body i can access to my body field dada. from there I would like to use the regular theme function to render the body field. to use theme('field',$variables) or render($variables) I need to bring the body-array from:

Array (     [und] => Array         (             [0] => Array                 (                     [value] => TEXT                     [summary] =>                      [format] => full_html                     [safe_value] =>  TEXT                     [safe_summary] =>                  )          )  )

to sth like:

Array (     [#theme] => field     [#weight] => 1     [#title] => Body     [#access] => 1     [#label_display] => hidden     [#view_mode] => full     [#language] => und     [#field_name] => body     [#field_type] => text_with_summary     [#field_translatable] => 0     [#entity_type] => node     [#bundle] => article     [#object] => stdClass Object         (...)     [#items] => Array         (             [0] => Array                 (                     [value] => TEXT                     [summary] =>                      [format] => full_html                     [safe_value] => TEXT                     [safe_summary] =>                  )         )     [#formatter] => text_default     [0] => Array         (             [#markup] => TEXT         ) )

But I don't know how exactly. how can a generate my field with the second array-achitecture. if possible without more db-queries.

thank you for help!

     

回答列表

5
 
vote
vote
最佳答案
 

您正在寻找 field_attach_view < / code>

您需要做的内容,加载节点是这样的:

  $fields = field_attach_view('node', $node, 'full'); $body = $fields['field_body'];   
 

You are looking for field_attach_view

What you would need to do, with your loaded node is something like this:

$fields = field_attach_view('node', $node, 'full'); $body = $fields['field_body']; 
 
 
 
 

相关问题

2  Internet Explorer 7透明度修复  ( Internet explorer 7 transparency fix ) 
我有一个菜单,具有透明背景,其中CSS以下: background-color: transparent; background-color: rgba(113,157,174,0.7); filter:progid:DXImageTransform.Microsoft.gradient(startColors...

0  path_to_theme()转到父主题而不是亚主题  ( Path to theme goes to parent theme not subtheme ) 
我用zen作为我的父主题,出于某种原因 path_to_theme()突然打印 /sites/all/themes/zen 而不是子项 /sites/all/themes/<mytheme> 。更令人困惑的是,它才会发生<强大>节点/ 12 时发生。 这个代码可以与它有关吗? <?php //template.p...

0  自定义/主题创建的视图  ( Customizing theming a created view ) 
我在网上搜索了很多,但没有找到自定义/主题创建的答案。我在此处创建了一个像屏幕截图。我想改变分页的方式和一些化妆品改变。那么最好的方法是什么。 ...

0  主题书导航块生成下拉菜单  ( Theming book navigation block to generate drop down menus ) 
我有一个3级深图书导航块。我想以下列方式更改菜单树HTML输出:对于树的每个级别,创建一个LI和内部它将锚标记与该级别的主动跟踪链路放置,然后ul you这个级别的兄弟姐妹。 <li> <a href="#" class="active-trail level[x]">Level[x] active tr...

5  在Drupal 7中,如何覆盖主题_pager?  ( In drupal 7 how to override theme pager ) 
我正在使用drupal 7和zen主题。并且我无法在template.php中使用zen_pager函数覆盖主题_pager。任何建议吗? ...

0  Drupal $ custom_theme缓存问题?  ( Drupal custom theme caching issues ) 
我有一个 hook_boot() 模块,可以检测某些情况,并使用 998887663 改变主题。所有作品都很好,但如果Drupal具有页面的缓存,无论它不是正确的主题,那么页面将被提供服务。 无论如何都要强制疣状不使用和缓存该具体主题?或者有没有办法迫使Drupal保持两个缓存?每个主题一个? 我使用drupal 6...

0  IE修复欧米茄主题?  ( Ie fix for omega theme ) 
在过去,我已经使用了用于设计网站的融合主题。最近我开始使用omega主题,并实现了一个大问题。我去了IE,看起来很糟糕。在融合中,有一个IE修复,其中有一个单独的CSS文件,用于IE。我似乎无法弄清楚如何在欧米茄中这样做。我知道必须有办法,因为默认网站是在欧米茄的主题,它在IE中看起来很好。我如何解决这个问题? ...

3  如何使用视图的模板文件覆盖page.tpl.php  ( How to override page tpl php with views template file ) 
我正在使用d7和view3(beta)。我创建了一个名为employee的视图,具有field first_image的模板,视图 - 视图 - employee - page - field-first_image.tpl.php 。当我重新扫描主题信息时,这个模板变得粗体。它工作正常(点击图像时,将显示...

3  一个项目Drupal的通用建筑方法  ( General architectural approach to drupal for a project ) 
为期类的标题道歉,但我的问题是一个相对通用的问题! 我比较新的司布,因为我历史上有一个非常不同的CMS实现方法,我认为我可能会缺少Drupal的建筑品质的观点。 我是一个.NET开发人员,谁使用了umbraco和episerver很多,但在drupal经验有限。 umbraco优惠是用户在管理面板中组织它们的内容的...

2  关于template.php不太确定  ( Not too sure about template php ) 
我主要是一个设计师,我现在一段时间一直在努力。在这一点上,我很乐意快速将我的设计转换为Drupal主题,但我继续怀疑如何使用template.php文件......我已经读过了一点,但我的理解它的有用性充其量是理论。 显然,它不是必需的文件,因为它从未阻止过我的主题在过去工作,但它是建议在所有情况下拥有一个?是否有...

1  将分类学特定的CSS文件添加到某些页面  ( Adding a taxonomy specific css file to certain pages ) 
我用多个子门户构建一个网页,所有这些都应该略有不同的CSS样式。 是否可以根据节点的分类方式添加某个CSS文件? drupal_add_css 可能? 我使用Drupal 6. 谢谢, 最大 ...

8  如何将CSS类添加到渲染阵列?  ( How to add a css class to an render array ) 
在模板文件中,之前 print render($content['field_image']); 我想向 998887661 渲染阵列中的图像添加CSS类。我怎样才能做到这一点? 这是渲染阵列: Array ( [#theme] => field [#weight] => 2 [#title] => Image ...

0  如果页面URL包含“页面=”,则不会呈现使用视图创建的块  ( A block created with views is not rendered if the page url contains page ) 
我有一个奇怪的问题。我正在使用Drupal 7和Omega Subtheme。在视图中,我有一个块定义,它很棒 - 出现它在网站上都应该在网站上 - 除非URL有一个"?页面=" 。有些可能相关的信息:CLEAN_URL和PATHAUTO启用,已安装的三角形和布局,但没有定义DELTAS。 当我创建了一个页面视图(不...

1  在块中显示自定义字段  ( Show a custom field in a block ) 
我疯了试图在侧栏块中显示自定义字段(现在在核心)的值。我试图用渲染函数来显示它,直接调用字段,没有运气。 我有一个名为"content1" 的自定义内容类型,以及名为"field_test1" 的自定义字段;我希望在查看页面节点时将在块上显示该值。 你有什么建议如何做到吗? ...

0  针对不同内容类型的不同文件夹中的Drupal模板文件  ( Drupal template files in different folders for different content types ) 
我正在尝试让drupal扫描多个目录以查找页面和节点的模板文件。我有一个名为"比赛" 的内容类型。我有一个带有"http://mysite.com/contest/test的节点" 我想拥有一个如下文件夹结构: templates page page.tpl.php pa...

0  在主题上实现hook_block_configure  ( Implement hook block configure on theme ) 
是否可以在主题内实现钩子_block_configure?我想拥有一个与每个块中的主题相关的配置,但不希望在模块中实现这一点,因为我会生成从主题到模块的依赖关系。 ...

0  如何将绝对位置设置为视图(或div类)?  ( How to set an absolute position to a view or div class ) 
我有2个视图,在页面的两个侧栏上显示广告。在其中一个之上,是显示文章的另一个视图。显示文章的视图可以是20px和200px之间的任何位置的高度,具体取决于当时的文章。我需要它下面的广告与另一个侧边栏上的广告对齐。如果我使用像边缘一样的东西,如果在网站的整个寿命中存在相同数量的文章,它只工作。我希望做一些像锚点的东西,...

1  涉及在Drupal 7中使用快速标签的自定义节点模板?  ( Custom node template involving the use of quick tabs in drupal 7 ) 
我有我想要显示的产品分为快速标签。我最初在考虑使用多个观点来执行此操作,但是我意识到必须使用节点 - product.tpl.php进行方法。它们被分开的方式如下: 一个快速标签,具有基本图像,标题和关于产品的一小段。 第二个选项卡应具有该产品的功能。 第三个应该是产品的描述。第四个应该是文件(图像和视频,音...

1  Drupal 7:如何将内容的标题分成多行  ( Drupal 7 how to break title of content into multiple lines ) 
我网站上的大多数内容节点都有两个部分(英语|阿拉伯语)。我想在两者之间进行一条线条休息,使破碎的文本看起来不会尴尬。但是当我放一个HTML线条断裂标签时,标签本身就会显示在标题中。 怎么办? 赞赏... ...

1  主题功能在D7中输出管理叠加?  ( What theme function outputs the administrative overlay in d7 ) 
哪些主题函数在D7中为管理叠加的输出产生的函数? ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.