最轻的方式来控制领域的标记 -- entities 领域 和 theming 领域 drupal 相关 的问题

Lightest way to control a field's markup


3
vote

问题

中文

到目前为止,我已经使用显示套件来控制实体的输出。这尤其适用于节点的字段,默认接收多个包装器(如 99887664 field-item ,Zebras),我不需要。如果我错了,请纠正我,但我会说只为这个目的安装展示套件是一个很大的开销。如果您同意这一点,那么可以成为我想要的标记的最轻的方法?

英文原文

So far I have used Display Suite to control the output of entities. This especially applied to node's fields which by default receive multiple wrappers (like field-items, field-item, zebras and such) which I don't need. Correct me if I'm wrong, but I would say that installing Display Suite only for that purpose is a big overhead. If you agree on that, what would then be the lightest way to get exactly the markup I want?

     

回答列表

2
 
vote
vote
最佳答案
 

是的,我认为display suite是一个非常开销,只是为了控制字段标记。您可以明显地手动覆盖模板,但对于更快的解决方案,有一个优秀的围栏模块

栅栏是一个易于使用的工具,用于为每个字段指定HTML元素。此元素选择将在使用该字段的任何地方传播,例如缩放,RSS源和视图。每次显示字段时,都不必在每次显示字段时都在重新配置相同的HTML元素。

最重要的是,栅栏提供比Drupal 7核心更精简的标记!也可以摆脱无关的课程!

标记的差异是巨大的。从

  <div class="field field-name-field-test field-type-text field-label-above">   <div class="field-label">Foobar field:&nbsp;</div>    <div class="field-items">     <div class="field-item even">Leaner markup means better front-end performance.</div>   </div> </div>   

  <h3 class="field-label">Foobar field</h3>  <div class="field-foobar">Leaner markup means better front-end performance.</div>   
 

Yes I think Display Suite is quite an overhead just to control field markup. You could obviously overwrite the templates manually, but for a quicker solution there's the excellent Fences module

Fences is a an easy-to-use tool to specify an HTML element for each field. This element choice will propagate everywhere the field is used, such as teasers, RSS feeds and Views. You don't have to keep re-configuring the same HTML element over and over again every time you display the field.

Best of all, Fences provides leaner markup than Drupal 7 core! And can get rid of the extraneous classes too!

The difference in markup is huge. From

<div class="field field-name-field-test field-type-text field-label-above">   <div class="field-label">Foobar field:&nbsp;</div>    <div class="field-items">     <div class="field-item even">Leaner markup means better front-end performance.</div>   </div> </div> 

to

<h3 class="field-label">Foobar field</h3>  <div class="field-foobar">Leaner markup means better front-end performance.</div> 
 
 
 
 
1
 
vote

考虑栅栏模块。这是关于它的引用(来自模块的项目页面):

...是一个易于使用的工具,用于为每个字段指定HTML元素。此元素选择将在使用该字段的任何地方传播,例如缩放,RSS源和视图。每次显示字段时,都不必在每次显示字段时都在重新配置相同的HTML元素。

最重要的是,栅栏提供比Drupal 7核心更精简的标记!也可以摆脱无关的课程!

需要这种工具,以便从Drupal创建语义HTML5输出。如果没有这样的工具,您必须为每个字段创建主题中的自定义字段模板。

类似的项目包括语义字段,字段包装器和显示套件额外。

您也可以创建自己的现场格式。

 

Consider the Fences module. Here is a quote about it (from the module's project page):

... is a an easy-to-use tool to specify an HTML element for each field. This element choice will propagate everywhere the field is used, such as teasers, RSS feeds and Views. You don't have to keep re-configuring the same HTML element over and over again every time you display the field.

Best of all, Fences provides leaner markup than Drupal 7 core! And can get rid of the extraneous classes too!

This kind of tool is needed in order to create semantic HTML5 output from Drupal. Without such a tool, you have to create custom field templates in your theme for every field.

Similar projects include Semantic fields, Field Wrappers and a tool inside the Display Suite extras.

You can also just create your own field formatters.

 
 

相关问题

4  使用多个值迁移文本字段  ( Migrate text field with multiple values ) 
我有一个简单的文本字段,允许2个值,让我们称之为 field_text 。我的源数据库有两列,假设 text1 和 text2 。 我想设置我的迁移字段映射,以便使用 text1 作为 field_text 的第一个值 text2 作为 field_text 的第二值。 换句话说,这样的东西: $this->a...

1  通过D7中的字段检索分类学术语  ( Retrieve taxonomy term by field in d7 ) 
我有一个具有字段"Legacy_ID" 的词汇,它是另一个相关系统的主要键。我正在建立一个例程,以根据相关系统的变化更新Drupal系统中的数据。另外,直接击中DB,有没有办法从字段中检索TID或整个术语? ...

0  倒计时定时器字段找不到倒计时定时器库 - 即使它在那里  ( Countdown timer field cannot find countdown timer library even though its the ) 
我在"管理员" 中的"倒计时定时器字段" 模块启用"倒计时定时器字段" 模块时面临的问题 - &gt; "模块" - &gt;字段。 我得到的错误消息是 "jQuery倒数定时器库无法找到。请下载它,将其安装在图书馆目录中,并将目录重命名为jQuery-toundown。库应在像网站/所有/库/ jQuery的路...

2  在用户配置文件和内容类型之间共享字段及其数据?  ( Sharing fields and their data between a user profile and a content type ) 
我有一个名为"profile" 的内容类型。这是一个独立的内容类型,可能或可能不会与站点上的实际用户相关联。 因此,我需要找到一种方式来共享Drupal用户和新自定义内容类型之间的配置文件字段。换句话说,如果在Drupal用户配置文件页面上编辑"家庭地址" 字段,则该字段(及其数据)应显示在与用户关联的配置文件页面上...

0  渲染实体的所有字段(即查看实体)  ( Rendering all fields of an entity i e viewing the entity ) 
我正在尝试渲染附加到自定义实体的所有字段。这将用于"查看" 实体,例如您将查看节点或用户等。 我首先尝试使用 field_attach_view : $fields = field_attach_view('contacts', $entity, 'full'); 但它只给了我这个: [#pre_ren...

5  我应该什么时候使用hook_field_attach_presave(),以及hook_entity_presave()?  ( When should i use hook field attach presave and when hook entity presave ) 
我正在寻找在保存之前在实体字段上采取行动的方法,我注意到了以下关于 hook_field_attach_presave()和 hook_entity_presave(): 他们采用相同的参数,但以不同的顺序。 当保存实体时,它们都被称为。例如, caxonomy_term_save()包含以下代码。 // I...

1  默认情况下,如何确保用户字段隐藏在用户字段中?  ( How can i ensure a user field is hidden by default for the logged in user ) 
模块x提供字段定义并将其附加到用户实体。 以这种方式将元数据连接到用户,使其在站点上访问它的非常方便的方法。 但是,默认情况下,登录用户也能够查看和编辑此数据,这并不总是可取的。 是有一种方法可以使用相同的模块来确保默认情况下隐藏此字段? ...

7  drupal 7面位搜索:始终显示方面  ( Drupal 7 faceted search always show facets ) 
我有一个配方的搜索工作,它使用searchapi,facetapi和entityapi。我不是那个开发这个的人,但我有一些司布的经验。截至目前,导航使用选择链接,如下所示(第一级别的子弹点不是链接)。选择混合时,声音设计和组成随预期消失。 客户端想要的所有项目都是仍然保持可见的,并且在用户钻取时选择(即使它没有返...

4  最简单的方法,将辅助数据库中的现有数据作为实体公开?  ( Easiest way to expose existing data in secondary database as entities ) 
给定"外部" 或"辅助" 数据库中的"节点" 数据库表,将它们暴露为实体的最简单方法是什么? 实体模块使存储在本地数据库中的数据似乎很容易,但我'不确定如何将其翻译成另一个数据库。 ...

1  如何在Drupal 7中以编程方式生成现场项目的字段项列表?  ( How to generate a list of field items using the field item name programmatically ) 
我需要一种方法来生成特定字段中所有项目的简单列表。字段名称是字段_portfolio_description,我希望通过结果循环循环并将每个项目输出到无序列表中。例如: <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> 是否有办...

4  批量删除实体类型  ( Batch deleting entity types ) 
在我的一个网站上,我有超过600个配置文件2配置文件类型(其中大多数在20-30个字段实例之间,有些则具有刚刚在该类型中使用的其他字段)。我已经测试了一些不同的方法进行批量删除,但无法找到使用实体/配置文件API的方法来获取删除,而无需基本上擦除网站几个小时。 似乎,当删除内容类型,配置文件类型等时,每次删除都会清除...

2  如何自动捕获来自URL的图像?  ( How to automatically capture images from urls ) 
我的网站是一个书签网站,人们共享URL。 首先,如果提交的页面具有Facebook打开图形图像信息,则Drupal应将该图像传输到本地文件并显示它(类似于Facebook上的共享链接)。 否则,显示页面的缩略图预览。 感谢提前帮助。 ...

2  创建与疏浚词汇链接的字段  ( Create a field linked to a vocabulary with drush ) 
让我们说我创建了一个称为 ABC 的分类词汇。 对于这个词汇量 ABC ,我想使用drush创建许多字段。 我试过 drush field-create ABC myfield,text,text_textfield 它有效,没有给出任何错误,但如果我转到管理员面板,我点击 structure => tax...

6  创建“实体编辑”表单的模块?  ( Module for creating entity edit form ) 
是否有一个模块,该模块将占用实体机器名称和可选的ID作为输入,并将合适的编辑表单生成输出? ...

0  从JavaScript / jQuery(Drupal 7)与Drupal沟通  ( Communicating with drupal from javascript jquery drupal 7 ) 
我正在尝试创建一个动态填充的选择列表字段窗口小部件。此窗口小部件由三个jQuery多个选择组成。当用户从第一个选择列表中进行选择时,我需要动态地填充第二选择列表的内容。我的问题是,我需要根据第一个选择和唯一可以通过Ajax调用到Drupal端点的Ajax调用来访问Drupal中存储在Drupal中的数据。等待Ajax...

1  hook_field_presave()没有被叫  ( Hook field presave isnt getting called ) 
摘要 我需要在保存之前编辑一些数据,而 hook_field_presave() 正好看起来我需要的是什么,但它没有被称为某种原因。 方案 我想编辑从更改到位置字段的数据(位置模块),所以我可以在没有提供并确保保存时查找纬度和经度信息。 实现 此刻我只是将钩子添加到位置。在将它们移动到一个单独的模块之前,...

0  新的图像字段类型仅用于在文章节点本身上显示的文章,而不是分类系统或自定义视图页面  ( New image field type for articles only displaying on the article node itself no ) 
我有一些问题只有自定义字段内容只显示在各个节点上。我为文章内容类型创建了一个名为field_second_image的新字段。我正在使用print渲染($ content ['field_second_image'])下常规字段_image在我的节点中 - Stritic.tpl.php文件。在实际物品节点上,两个...

0  如何从查询获取组名称?  ( How to fetch group name from query ) 
我正在使用字段组模块,我创建了名称&amp的3组;如下所述的ID: 组名|.机器ID 桩架| group_sh1 趋势| group_td1. 组织| group_org1. 我想在自定义模块中检索组名。通过使用"ctools" ,我能够检索组的ID,但无法获取组的名称。请在下面找到以下代码进行参考。 cto...

0  处理长名单的最佳方式  ( Best way to deal with long list ) 
我是一个名为"guy" 的实体,具有一个字段"位置" ,我要引用的9-10.000个位置。我必须使用一个靶向位置实体的简单列表(1 | BLA,2 | Blabla)或实体参考字段?我需要自动完成功能,但Drupal非常缓慢,其中大量的位置。但我不知道我是否可以加载9-10k行的列表。 我不会使用分类法。 为了加快自...

1  Drupal 7 CCK号码  ( Drupal 7 cck number ) 
只要我知道Drupal 7中没有数字字段。我可以看到的只是列表(整数)字段。我面临的问题是在视图中对此字段进行排序。我希望我的内容在以字母顺序排序。假设我有三个节点,字段值为1,8,13。使用视图进行排序在此顺序中:1,13,8。任何解决方案? ...




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


Licensed under cc by-sa 3.0 with attribution required.