如何在视图的日期字段中添加额外的类?


7

我正在使用Drupal 7。我创建了一个使用日期字段的视图。我想为该特定视图的日期字段创建额外的类。

例如,

<div class="field-content">
 <span class="date">10</span>
 <span class="month">June</span>
 <span class="year">2011</span>
 <span class="time"> 8:00 </span>
</div>

现在我有一个代码:

<div class="field-content">
 <span class="date-display-single">10 June 2011, 8:00</span>
</div>

如何逐步进行?

Answers:


3
  1. 您需要从http://drupal.org/project/custom_formatters安装令牌模块(最新的beta版本包括字段令牌)和 自定义格式化程序模块。

  2. 然后从模块页面启用它。

  3. 转到管理->结构->格式程序。

  4. 添加一个新的格式化程序,为其添加一个您喜欢的名称。

  5. 格式:HTML +令牌

  6. 栏位类型:日期

  7. 格式化程序:

    <span class="day">[node:source:field-datefieldname:custom:j]</span>
    <span class="month">[node:source:field-datefieldname:custom:F]</span>
    <span class="year">[node:source:field-datefieldname:custom:Y]</span>

现在,您已经创建了一个自定义日期格式器,可以在视图中使用它!


4

您可以执行此操作而无需任何其他模块。

  1. 添加日期字段。从显示中排除它。选择custom,然后在框中输入d(如当天的php date)。更改“样式设置”-“自定义”字段HMTL(设置为“无”)以及“自定义”字段和标签包装HTML(设置为“无”)。Drupal日期字段
  2. 再次添加日期字段。也从显示中排除此情况。选择自定义,然后在框中输入M(如该月的php日期)。更改“样式设置”-“自定义”字段HMTL(设置为“无”)以及“自定义”字段和标签包装HTML(设置为“无”)。
  3. 再次添加日期字段。也从显示中排除此情况。选择自定义,然后在框中输入Y(如php日期中的年份)。更改“样式设置”-“自定义”字段HMTL(设置为“无”)以及“自定义”字段和标签包装HTML(设置为“无”)。
  4. 再次添加日期字段(最后一次!)。请勿从显示器中排除此内容。选择自定义,然后写G:i(如php date中的小时和分钟)。更改“样式设置”-“自定义”字段HMTL(设置为“无”)以及“自定义”字段和标签包装HTML(设置为“无”)。
  5. 重写此最终日期字段的结果。使用替换模式,您可以编写如下内容:

    <div class="date">
      <span class="day">
        [created]
      </span>
      <span class="month">
        [created_1]
      </span>
      <span class="year">
        [created_2]
      </span>
    </div>

Drupal重写结果


1
这似乎是创建日期的一种好方法,但是如果您正在使用添加到内容类型的日期模块字段,则似乎无法选择“自定义格式”?
2014年

1
@Mark,如果遇到此问题,则可以使用/ admin / config / regional / date-time添加日期格式,然后在步骤1-3中从下拉列表中选择适当的格式,而不是自定义格式。
Webdrips's

3

一个相当快的方法(如果可以编写php),但是稍微有些棘手的解决方案是覆盖该字段的模板(请参见Views theming basics),使用php处理原始日期值以取出单独的片段,然后将其与您选择的HTML。

另外,我认为您可以编写一个自定义的日期字段格式化程序(是为D6做的事情的人)。如果您想在节点中重新使用自定义格式化程序,那将是一个不错的解决方案。


1

使用Views UI无法做到这一点。您将需要一些相当复杂的代码,并且在鼓励您着手解决这个问题之前,我会对您的用例感到好奇。

如果您询问如何向整个字段添加类,答案将是这样的:

  1. 单击视图界面中的字段。

  2. 展开“样式设置”字段集。

  3. 选中“自定义HTML字段”复选框,然后选中“创建CSS类”复选框。

  4. 输入您想要的班级。

也许该解决方案就足够了。否则,祝你好运。


2
感谢您的回答,但是您的解决方案仅有助于更改所有字段的类,它不允许我创建单独的日期。

1
然后,编写自定义格式器可能是您唯一的选择,等到日期到达主题层已完全处理的时间时,请参阅Helper函数以获取原始和渲染的字段数据
tim.plunkett 2011年

1

这真的很容易,(一旦您知道如何)

使用展示套件自定义字段

转到admin / structure / ds / fields

(在菜单中:结构->显示套件->字段)

点击添加代码字段

对于我的用例,我输入了以下内容

标签

任何东西

实体

节点

极限场

留空

场代码

<div>
  <span class="mf-month">[node:created:custom:M]</span> 
  <span class="mf-day">[node:created:custom:d]</span>
</div>

代币

已检查

创建字段后,请转到要显示的内容类型和查看模式的管理显示页面,然后选择新的自定义字段。

上面的设置的屏幕截图

设置页面的屏幕截图

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.