如何在Drupal 7中添加自定义字段到块?
我想在Drupal中添加自定义字段到块?我有一个横跨页面整个宽度的标题区域。下面是各个区块的正文内容左侧栏和右侧栏。标题区域需要有一个背景图像,并在其上面显示文本。希望通过自定义字段的块为背景图像和文本做到这一点。如何在Drupal 7中添加自定义字段到块?
您可以使用Views模块,Fields和blocks来实现这一点。
- 创建一个名为背景图像的上传图片领域,你想显示
- 使用视图创建一个显示为模块的图任何其他领域的内容类型。不过,您可以将字段设置为重写。
- 使用您的视图设置,将您的背景图像显示为路径而不是图像。
例如,你可以建立这样的使用现场更换的观点:
<div style="background: [field_image] left top no-repeat">
<h2>[title]</h2>
<p>[field_whatever]</p>
</div>
好像有点大材小用,但它会得到它在客户手中。您还需要执行一些限制,以便仅使用特定的节点ID,以便它们不会创建一百万个背景图像节点并破坏网站。希望这可以帮助。
您只能将字段附加到实体,因为块不是实体我恐怕不能解决您的字段问题。
最好的办法是将块的内容设置为要显示的文本,然后使用CSS来定位包含div并将背景图像放在上面。
另外,只需将块内容的过滤器更改为“完整HTML”,然后将样式内联编写,例如。
<div style="background:url(some/path)">Block content here</div>
更好的方法是使用hook_block_info()
和hook_pages_block_view()
在代码中创建自定义块。然后通过hook_block_configure()
添加附加字段。
使用form api,你可以添加任何你想要的字段。
是的,但添加表单元素仅仅是部分工作。您还需要处理输入的数据在hook_block_save的存储,这是比较容易的,如果你写一个字符串变量表,但是当你在处理图像变得更加复杂。 – marcvangend 2013-06-20 12:33:23
使用Bean module,这将允许您创建具有字段,甚至图像字段的自定义块类型。它与块模块很好地集成。观看视频演示 - http://www.youtube.com/watch?v=Eu1YNy-BNG8
我这样做的方式(我知道其他几个人也是这么做的)就是制作一个内容类型的“块内容”。在那里你可以创建任意数量的字段。
然后,您在node-type中创建一个node-reference - 字段,您将在其中显示块(mynodetype)的位置。
然后,您制作一个views - 块:即“自定义块”,您可以在其中指定关系 - 上下文。大多这个上下文将是这样的:其通过参考场中的“mynodetype”引用:(嵌段含量NODETYPE)的节点的显示领域。
我发现这是一个非常干净的解决方案和它的作品好,因为你只有一个街区,其显示在需要的时候,一个内容仍处于节点和不污染块管理页面。
当你创建一个块,你可以选择你想要的字段。你是否在引用如何以自定义的方式呈现这些字段? 否则,Drupal已经让你做到了。 – Deleteman 2012-01-05 16:48:03
@Deleteman:你可能在想的内容类型,块不能重视他们 – Clive 2012-01-05 17:31:03
接下来的时间字段,请考虑在drupal.stackexchange.com发布Drupal的问题。 – gogowitsch 2013-06-30 09:42:30