Drupal

Drupal开发人员和管理员的问答


4
将原始html传递给#markup
我有一些html内容,它来自一个外部库,所以我无法更改它,它具有许多<span>和<div>带有如下属性的标签: <span style="color: #0000ff;">,但是当我使用时: $render = array( '#markup' => $myhtmlcontent, ); 在渲染数组中,Drupal会剥离属性,并且<span>不使用任何样式。 因此,如何避免Drupal更改作为标记传递的内容,而该标记不需要任何过滤器,因为该库使它安全,或者最后使它允许样式?
24 theming  8 


4
Drupal 6生命终结
是否有记录的日期或Drupal 6生命终止的可信日期?换句话说,Drupal 6何时停止正式开发?
23 6 

5
遍历Twig模板中的多值内容字段
我需要控制模板中field_admin_tags字段的呈现node.html.twig。 这项工作: {{ content.field_admin_tags }} —渲染所有内容(标签+所有字段值) {{ content.field_admin_tags.0 }} —仅呈现字段中的第一个值,不呈现标签 问题:我无法控制标签周围的标记,例如<ul><li>...</li></ul>。 所以我的想法是遍历render数组。 但这不起作用: {% for tag in content.field_admin_tags %} {{ tag }} {% endfor %} 我得到:Exception: Object of type Drupal\node\Entity\Node cannot be printed。 我想我正在遍历render数组的键/值与字段中的项(如果我在每个循环中打印出“ X”,我将得到20个X,而在该字段中我只有两个或三个值) 。 我想遍历content.field_admin_tags.0,content.field_admin_tags.1等等。 任何想法如何解决这个问题?谢谢。
23 theming  8 

1
entity_metadata_wrapper()函数的作用是什么,为什么要使用它?
目前,我似乎正在为许多使用Entity API的模块开发附加组件,并且该entity_metadata_wrapper()功能不断弹出。 该文档页面表示,这一下吧: 返回给定数据的属性包装器。 如果包装了实体,则可以使用包装器为实体属性检索其他包装器。 忽略其中的“实体”一词的弗洛伊德奇妙的拼写,我真的不明白这些包装的目的是什么。 我知道该函数实质上返回一个EntityDrupalWrapper类: 包装器简化了实体属性的getter和setter回调的应用 但是我不明白的是它如何使事情变得更容易。 例如,要更新节点的状态属性,可以使用以下代码: $node = node_load($nid); $node->status = 1; node_save($node); 很干净 据我了解(但可能是错误的),使用的等效代码entity_metadata_wrapper()会比这更冗长。 我不确定在这里是否仅仅是因为使用了“包装器”这个词,但是我也仔细查看了Entity模块中的代码,并且我真的不太了解它。 有谁能够解释使用此功能的好处,并可能为常见用例提供一个简单的代码示例?
23 entities 

4
构建任意深度的简单分类浏览器的简洁方法
我花了几天的时间来确定一种干净的方法来执行以下操作: 显示词汇表中所有顶级术语的列表及其子术语的链接 单击链接后,将转到这些条款的孩子的列表。 无限广告,直到最低级别的术语为止,最低术语将显示带有该术语标记的节点列表。 似乎这是非常普遍需要的功能,但是我找不到能够处理任意深度的解决方案,尤其是如果不是所有术语树都下降到相同深度时。 理想的解决方案是使用Views 3,Contexts,EntityFieldQueries或Drupal 7很好支持的任何其他解决方案。 我能做到几乎通过制作一个简单的观点有三个节点正是我想要的:长期的关系(长期,短期的母公司,以及长期的父亲的父亲)和用户那些连续上下文过滤器。唯一的问题是,如果存在一个术语路径深度太小的节点,该节点将被列为“未分类”并生成无效链接。与其这样做,我不希望它链接到下一个可用的子术语。

9
dpm()在屏幕上不显示任何结果
我有同样的问题,因为file_scan_directory()大约需要10秒钟才能执行。我只是尝试了这个dpm(func_get_args())建议,但不幸的是它对我没有任何显示。 我已经清除了所有缓存,并运行了cron任务。我想念什么?
23 7  debugging 

3
如果使用清漆,使用“升压”模块是否多余?
我们在Varnish服务器后运行Drupal实例,但我们正在寻找其他/其他方式来加速站点。Boost是为此经常被命名的模块。它似乎会生成静态版本的页面,并为这些页面提供服务,以避免重新生成时间,但是-如果我们已经使用清漆进行缓存-这对我们有好处吗?

2
在node.tpl.php文件中打印$ Messages
在Drupal 7中,默认情况下,$messages变量打印在page.tpl.php中。 有没有一种方法可以$messages在node.tpl.php文件(例如$ node-mycontenttype.tpl.php)中进行打印。 只是放<?php print $messages; ?>或 <?php print render($page['messages']); ?>不起作用。 有一个教程在这里为块打印$的消息,但我想放在我的node.tpl.php文件。
23 theming 

1
以编程方式执行操作集(“规则”模块)
我想使用“规则UI”定义一些操作集,但想从自定义模块中以编程方式执行这些操作。 如何通过代码执行操作并传递所需的参数(在这种情况下,只是一个节点)。 谢谢!
23 rules 

3
如何编写自动化测试?
我看到Drupal 7包含某种测试框架(由于我现有的站点仍在Drupal 6中,并且可能不会很快迁移,所以我还没有尝试过)。您如何为Drupal 6站点编写自动化测试,是否有用于此的模块?实际上可以自动测试多少,而不需要手动测试?
23 testing 

5
获取视图执行的实际查询
我需要找出由某个查询执行的SQL查询。在配置视图时,“视图”模块可以显示SQL,但显然查询不是在所有情况下都可以运行的实际查询。 我知道Devel模块可以显示数据库查询,但是devel无法显示实际查询,除非在每个查询中单击关联的“ A”链接,并且有数百个查询。 我如何找出视图执行的实际查询?该视图显示为块。
23 7  views  database 


5
仅搜索当前使用的语言
如何限制Drupal 7中默认搜索的结果,以仅带当前语言的节点? 我的网站有三种语言切换器;用户选择查看网站时要使用的语言。如果他搜索了某些内容,则结果页面会显示其他语言的结果。今天,我只有3种启用的语言,但我们计划将其扩展到6种或更多。
23 7  search  i18n-l10n 

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.