有没有办法将自定义类/包装器添加到页面节点,类似于使用视图创建的页面? -- 7 领域 和 theming 领域 drupal 相关 的问题

Is there a way to add custom classes/wrappers to page nodes, similar to pages created with Views?


-1
vote

问题

中文

我正在研究设计师提出的5个主题颜色,我需要与特定页面相关联。主题有2个区域需要受主题颜色的影响:侧边栏和内容。 我希望将一个字段添加到基本页面内容类型链接到分类词词汇表,其中术语将是颜色,所以我可以在创建页面时选择主题。我需要将一个类添加一个术语高度,足以影响页面内容类型的所有其他字段。 这将是在视图中的行等级,其中我可以使用替换模式从此节点上调用字段。

最困难的选项是能够影响内容和侧边栏(具有该 class="术语/颜色" 的对象将不得不包裹两个区域),但如果有人知道如何将它添加到仅限内容区域,这也很棒。

目前,我将所有主题规则放入基于身体标签中的节点的CSS,但我并不是特别为此解决方案感到特别自豪。

可能值得添加我使用的主题。对于桌面网站,我使用了Omega 4和移动网站,它是Bootstrap3。我处于过渡到引导的中间。

任何帮助将非常感激。

英文原文

I'm working on a website where the designer came up with 5 theme colours which I need to associate with specific pages. The theme has 2 regions which need to be affected by the theme colour: sidebar and content. I was hoping to add a field to the Basic Page content type linked to taxonomy vocabulary where the terms would be the colours so I could pick the theme while creating the page. I would need to add a class with the term somewhere height enough to affect all other fields of Page content type. This would be something like row classes in Views where I can use Replacement patterns to call on fields from this node.

The most difficult option would be to be able to affect the content and the sidebar (the object with that class="term/colour" would have to wrap both of the regions) but if anybody knows how to add it to only the content region, that would be great too.

At the moment, I put all the theme rules into the CSS based on node classed in the body tag, but I'm not particularly proud of this solution.

It might be worth adding what themes I use. For the desktop site, I used Omega 4 and for the mobile site, it's Bootstrap3. I'm in the middle of transitioning to Bootstrap.

Any help would be greatly appreciated.

     

回答列表

0
 
vote

(意大利面代码警报!)
这不是最好和完美的方式,但你可以利用templace_preprocess_html hook 将类添加到身体标签。

我使用引导子主题。 Snippet遵循它非常简单,在处理页面之前,我检查它是否是新闻内容类型,如果是的话,我在身体标签上添加自定义类。 field_school它是一个术语参考。

  file: template.php /**   * Implements TEMPLATE_preprocess_html().   */ function TEMPLATE_preprocess_html(&$variables) {   $node = menu_get_object();          // News content type   if ($node && $node->nid && $node->type === 'news') {     $schools = $node->field_school['und'];           foreach ($schools as $school) {                  $variables['body_attributes_array']['class'][] = strtolower('school-' . $school['taxonomy_term']->name);     }   }  }   

这是我收到这个信息的链接: link

我希望得到帮助。
nermaccio

 

(spaghetti code alert!)
It's not the best and perfect way, but you can take advantage of TEMPLACE_preprocess_html hook to add a class to body tag.

I used Bootstrap sub-theme. Snippet at follow it's quite simple, before process the page I check if it's a News content type, if so i add a custom class at body tags. Field_school it's a term reference.

file: template.php /**   * Implements TEMPLATE_preprocess_html().   */ function TEMPLATE_preprocess_html(&$variables) {   $node = menu_get_object();          // News content type   if ($node && $node->nid && $node->type === 'news') {     $schools = $node->field_school['und'];           foreach ($schools as $school) {                  $variables['body_attributes_array']['class'][] = strtolower('school-' . $school['taxonomy_term']->name);     }   }  } 

This is the link where I got this info: link

I hope to have been helpful.
Nervaccio

 
 

相关问题

1  如何用破碎的URL删除分类学期  ( How to delete a taxonomy term with a broken url ) 
我试图改变分类学术语指向的URL,以便点击它将将用户带到地图。但是,在更改URL之后,我不再能够进入术语来编辑值。 我如何在我无法访问它的编辑屏幕时切换回电源,或者删除术语? ...

1  媒体模块未正确渲染媒体的YouTube视频:YouTube  ( The media module does not correctly render youtube videos added with media yout ) 
尝试允许用户从 wysiwyg ,ckeditor 3.6,< href ="https://www.drupal.org/project/media_youtube" rel ="nofollow noreferrer" >媒体:youtube 。 这是模块配置: 然后我尝试通过向视频或嵌入代码(iframe...

1  显示在发票PDF Comperce Billy上的订单付款方法  ( Display the method of payment of an order on the invoice pdf comerce billy ) 
我安装了商务billy 。 如何在我的账单上显示付款方式? $info2 以下是我的文件"commerme_order - commerce_order - pdf.tpl.php" 的内容。 我在哪里放置代码? ...

1  向WebForm提交发送电子邮件通知  ( Sending email notifications to webform submissions ) 
我正在尝试创建一个规则,该规则将发送电子邮件到WebForm提交的列表,在创建新内容时通知它们。到目前为止,这是我有的: 事件:保存类型[类型] 的新内容后 条件:内容是类型 操作:使用规则视图显示,我正在抓住WebForm提交,然后循环发送邮件到WebForm提交的值。 一切都很好,直到我需要发送邮件。而不是...

1  视图:添加(链接到文件字段)到映像字段  ( Views add link to file field to image field ) 
在d7中,我有一个事件内容类型,其中包含图像字段("特色图像" )和文件字段("文档")。我有一个包含文档的事件的视图,并希望将链接包裹在图像周围,导致文档。这是一个 sample link 。 如何重写图像(或使用其他技术)以获取图像周围的所需链接?查看可用的令牌(我确实在图像上方添加了一秒钟的隐藏文档字段以定义...

0  如何在内容创建期间允许查看模式选择?  ( How to allow view mode selection during content creation ) 
我们有一个内容类型,基本页面,可以是三种类型 出版 网络广播 音频/视频 有一个基于基本页面类型的字段,我们切换显示的字段。因此,对于键入="音频/视频" 时,我们将显示字段A-C,但如果Type ="网络广播" ,则我们在节点编辑页面上显示字段D-G。 基于基本页面类型,节点视图应根据类型显示。我们正在考虑使...

2  如何配置总订阅模块? [关闭]  ( How to configure the total subscription module ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并阐明编辑此帖的问题。 closed 4年前。 ...

1  如何使Blob文件可下载?  ( How to make blob file downloadable ) 
我已经创建了一个模块,以在Drupal 7中可用于下载Blob文件。 在我的代码下面.module文件 <?php function blobfile_block_info() { $blocks = array(); $blocks['blobfile_block'] = array( 'in...

0  如果字段是自动完成的字段,则以编程方式保存节点字段?  ( Programatically save node fields if fields is autocomplete ) 
我已经创建了一个包含3个字段的内容类型,我的一个字段是node_refrence在此文件中,我使用node_refrence填充其他节点的标题。 我正在使用这个代码。 > $node = new stdClass(); $node->type = 'application'; > node_object_pr...

1  如何引用自定义字段到内容类型条目  ( How to reference a custom field to content type entry ) 
在Drupal 7中我创建了一个"产品" 内容类型和自定义模块,它创建了一个具有字段"产品" 的实体"订单" 。 我想用来自内容类型的产品引用我的字段"产品" 。 任何建议如何使其审理? ...

0  在没有任何HTML标记的情况下获得清洁日期  ( Get clean date without any html tags ) 
我正在使用日期模块以及显示日期的视图,我需要获取日期时间戳。问题是 $fields['date_in_timestamp'] 内容在html包装。 <span class="date-display-single"> 1468473300 </span> 我只需要值,没有html。 ps:我的字段"dat...

6  Drupal_static的预期用途是什么?  ( What is the intended use of drupal static ) 
我理解Drupal静态缓存用于存储内存中的静态值,以便更快地访问它们的要求。然而,在德鲁佩尔和贡献的模块中,我倾向于看到两个不同的版本: 示例来自 drupal_is_front_page : function drupal_is_front_page() { // Use the advanced dru...

1  如何在规则操作中替换关于[node:url]的文本吗?  ( How to replace text about nodeurl within a rules action ) 
我正在使用规则模块,并在保存新时创建规则内容,发送电子邮件包含节点标题,以及节点的URL。非常直接。也就是说,我想在发送的消息之前替换网址中的文本。我正在使用str_replace(),但它不起作用。 任何建议? 更新: 路径当前看起来像这样: domain.com/cron.php/newsroom/press-...

0  单击链接时,从表中检索值并显示在WebForm字段上  ( When a link is clicked a value is retrieved from the table and displayed on a w ) 
我创建了一个带有两个按钮的基本页面,"是" 和"否" 。单击"是" 按钮时,它将引导到WebForm。 目的:当出现WebForm时,它会将表中的值显示为字段。 数据库 表名:房间 领域:房间 数据:培训室 基本页 webform 我为此功能创建了一个模块: test_presa...

0  devel dpq()不起作用?  ( Devel dpq not working ) 
我正在尝试打印从视图生成的SQL,但它不起作用。以下是我获得的错误消息: - Fatal error: Call to a member function arguments() on a non-object in /var/www/Exaxmple-Site/sites/all/modules/devel...

1  从自定义URL删除语言前缀  ( Remove language prefix from custom url ) 
我们的网站存在于多种语言中。我已安装XMLSitemap模块和默认链接看起来像SitEname / en / sitemap.xml 我需要删除此链接的语言前缀。似乎没有设置为任何特定的自定义链接禁用翻译。 可以是我可以以编程方式做到这一点? ...

1  在不使用拖放的情况下编辑块的权重  ( Edit weight of block without using drag and drop ) 
我正在尝试重新排序块。我明白它可以通过拖放块结构页面拖放来完成,但是我有一个限制。 保存时,订单不会保存。这很可能是因为存在非常大量的块,服务器无法以一种形式处理许多输入。所以它只是恢复到它的原始位置。我无法访问服务器,因此我无法进行更改以允许服务器处理许多输入。 我也无法访问MySQL数据库。 我希望能够在块中手动...

2  如何为从未访问一个站点的用户创建视图过滤器?  ( How to create a views filter for users who have never accessed a site ) 
我有一个景观,我正在尝试显示所有具有 never 的上次访问值的用户,这意味着它们从未登录过。 滤波器期望日期值对我没有帮助,因为我只需要通过从未访问的用户过滤。 任何人都知道围绕这个方法吗? ...

2  如何看到*哪个用户*最后更新了一个节点?  ( How do i see which user last updated a node ) 
在 admin/content 中,我如何覆盖这个显示屏列表上次更新一段内容的用户。我们可以看到最初的作者,这很好。但我想要一个触摸节点的跑步道。 我尝试了什么 修订:但是,某些内容类型使用jQuery选项卡的字段,在返回某一修订时丢失其内容。 ...

2  如何使用外部JSON API创建/更新节点的字段?  ( How to use external json api to create update nodes fields ) 
我有一个内容类型: siteinfo 。 此内容类型具有多个字段:文本,实体参考等。 我想使用外部API自动填充创建节点的某些字段。 我想要使用的API说: API返回XML&amp中的一致和结构​​良好的数据;杰森 格式。返回的数据包含可容易的解析字段 您的申请使用。这是一个基于RES的API。 ...




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


Licensed under cc by-sa 3.0 with attribution required.