【发布时间】:2015-06-10 16:54:08
【问题描述】:
我遇到了一些绊脚石
<?php print render ($page['pages_machine_name']); ?>
Drupal 站点中的代码。 该问题仅在从 7.33 迁移到 7.36 时开始。
发生的情况是,而不是显示页面的内容,在这种情况下是<ul>,它在<ul> 周围放置了几个包装<div>s 和<span>s 及其内容。这很好,但实际情况是,它们呈现不完整的链接,因此破坏了页面的其余部分:
<a href="http://www.domain.co.uk<div class=" field="" field-name-field-link-three-url="" field-type-text="" field-label-above"="">">
<div class="field field-name-field-link-three-name field-type-text field-label-above"><div class="field-label">Link Three | Name: </div><div class="field-items"><div class="field-item even">Our people</div></div></div></a>
如您所见,网站域的末尾标有小于号而不是实际符号,因此会破坏其后面的所有其他标签。
有谁知道这可能是什么原因以及可以采取什么措施来解决它?
提前感谢您提供的任何帮助 :)
【问题讨论】:
-
可以尝试使用php的
strip_tags()函数去除<div>和<span>标签 -
这里有一篇关于在 drupal 中使用渲染数组的好文章,请确保您出于正确的原因使用它。-drupal.org/node/930760 还在该渲染语句之前添加更多代码以判断位置和你是如何使用它的。
-
一定有结构问题尝试使用dsm或devel模块的类似功能调试$page数组。这可能有助于您了解正在呈现的内容
-
找到了解决方案。 搜索时我发现了这个页面link,在该页面上,代码提供了以下解决方案:(从“文件名”编辑为“值”以获取字段内的文本值)
<?php print $node->field_name_goes_here['und']['0']['value']; ?>这正是我想要的,在这种情况下,只是字段的内容。希望这可以在将来对其他人有所帮助。
标签: php html drupal drupal-7 drupal-theming