Drupal

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

1
如何在树枝中渲染段落模块
我正在为主题创建自定义模板,并正在构建page.html.twig页面。我想将各个节点字段调用到单独的行中。我已经能够成功显示除段落字段以外的所有内容。 我努力了。 {{ node.field_benefits }} {{ node.field_benefits.value }} {{ paragraph.field_benefits }} {{ paragraph.field_benefits.value }} {{ node.paragraphs.field_benefits }} 没有任何效果。是否有人对在段落模块中调用的正确结构有任何想法? 还是会为功能工作 {% if node.field_benefits %} {% for field_items in node.field_benefits %} {{ field_item.value }} {% endfor %} {% endif %}
8 views  theming 

4
获取字段实例的设置
field_info_instance()Drupal 8 的等效功能是什么? 默认字段设置作为配置存储在诸如field.field.ENTITYTYPE.BUNDLE.FIELDNAME.yml之类的文件中,但是如何获取其当前值?
8 entities  8 

2
为什么settings.php位于Web文件夹中?
在默认安装中,settings.php位于sites/default/。在Drupal官方网站上没有关于更改此文件位置的建议。这不是潜在的安全问题吗?我已经看到Apache网络服务器最终无法解释PHP文件,并以纯纯文本格式提供PHP文件的内容,而不是假定的HTML内容。这将完全公开数据库连接用户和密码,而这些用户和密码甚至没有被加密。为什么这样工作?

2
如何显示网站口号?
我正在尝试使用Drupal 8 an Bootstrap建立我的第一个网站。不幸的是,我无法以Bootstrap主题显示网站的口号。标语已设置,/admin/config/system/site-information但未显示。因此,我个人认为,可能不会将其打印在page.html.twig中,并尝试将其包含在其中。它的序言说: * Available variables: * Site identity: * - front_page: The URL of the front page. Use this instead of base_path when * linking to the front page. This includes the language domain or prefix. * - logo: The url of the logo image, as defined in …

2
为什么没有渲染带有标记的Twig模板变量?
在我的模板预处理函数中,我有一个变量: $test = "<p>this is a paragraph</p>"; 然后将其传递给我的模板: $variables['test'] = $test; 并输出到树枝中: {{test}} 但是我没有得到格式化的段落,而是得到了纯文本格式的原始输出: <p>this is a paragraph</p> 如何获得Drupal将此呈现为普通HTML?
8 8  theming 


2
获取公共路径目录
我想以编程方式在公共路径中保存文件,我想知道如何Public Directory path在Drupal 8中获得文件。在Drupal 7中,我将使用以下代码。 drupal_realpath(file_default_scheme() . '://') Drupal 8中的等效功能是什么?
8 8  files 

2
在实体参考自动完成列表中显示节点ID和标题
我想将此功能添加到“实体引用”字段的“自动完成”小部件中,以在下拉列表的标题旁边显示节点ID。这个想法背后的原因是要区分具有相同标题的多个节点。 例: 这是一个标题(3) 这是一个标题(2) 这是一个标题(1) 我知道一旦选择就显示了节点ID,但我想在下拉列表中显示它,以便根据节点ID快速选择正确的节点。
8 7  views  nodes  entities  ajax 

2
从树枝中的URI获取带有样式URL的图像
因此,由于有了4k4,我终于设法通过以下方式在字段模板中获取了原始图像URI: item.content['#item'].entity.uri.value 与 {{ file_url(item.content['#item'].entity.uri.value) }} 我会得到原始文件的网址。 我通过以下方式获得图像样式信息 item.content['#item']['#image-style'] 要求“中等” 一个PHP解决方案已经可以在这里使用,但是如何在TWIG中做到这一点? 有创造8.1过滤一些尝试这里 -但是,这并不能帮助我目前。
8 theming  8  uri  media 

3
将链接添加到/ admin / config页面[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 3年前关闭。 我正在学习如何为Drupal 8创建模块。我已经阅读了许多基本教程,但是我还没有看到有关添加到/ admin / config页面的链接的教程。 更具体地说,我想在“ Web服务”区域下添加链接。
8 8 

3
如何以编程方式在D7中注销另一个用户?
在我们的网站上,我们有客户帐户,每个帐户都有一个超级管理员和属于该帐户的子用户。 我们希望超级管理员能够强制子用户注销。不管会话信息存储在Redis,Memcache还是数据库中,销毁在Drupal中有效的用户会话的最佳方法是什么? 在有人不愿意建议user_logout()之前,这会破坏当前用户的会话。我希望当前用户能够销毁其他用户的会话!
8 sessions  users 


3
以单路径参数或其他方式斜杠以处理具有动态参数数量的菜单尾
根据Symfony文档,以下定义的路由应为/hello/bob和触发指定的控制器/hello/bob/bobby: _hello: path: /hello/{names} defaults: { _controller: \Drupal\mymodule\Controller\Main::Controller } requirements: _access: 'TRUE' names: .+ 在一个请求的情况下/hello/bob/bobby的{names}PARAM将是“鲍勃/巴比”(斜杠完整),这将是到控制器打破这种分解成多个变量或离开它作为一个单一的字符串。诀窍在于更改后的正则表达式(“。+”)用于过滤该{names}参数。 此stackoverflow帖子还暗示可以使用自定义正则表达式来允许在路由参数中使用斜线(至少在Symfony 2中)。 如果我针对Drupal 8.0.0-beta15尝试此操作,它将无法正常工作,并且仅针对的请求触发指定的控制器/hello/bob。但是,我可以确认它曾经在以前的beta中起作用(我认为直到〜beta13为止)。 Drupal与Symfony路由组件集成的方式有什么改变可以解释这一点?也许还有另一种方法可以在路由参数中完成斜线的传递?我知道内核正在向Symfony 3.0迈进,但是我不确定这是否可以解释问题。 我也知道,路由订阅者可用于管理动态路由结构。但是,我正在处理的情况在基本路径的末尾需要几乎无限的组合/数量的动态参数(但是在我的控制器中解析起来很简单)。在/hello?names[]=bob&names[]=bobby这种情况下,我还尝试避免使用查询字符串(例如)。 主要是我对与Symfony文档的断开连接感到困惑,这似乎表明这应该可行。 补充笔记 张贴这个问题后,我发现在D8核心队列讨论:[讨论]删除自动传递额外的参数的:Y / N。似乎可以得出结论,“菜单尾”支持(本质上就是我所追求的)将在D8中被正式删除。讨论在3年前结束,因此我只能猜测,直到最近(〜beta13)才完全实现一些更通用的实现细节。这也许可以解释为什么我现在才注意到这一变化。 我猜想在任何特定于Symfony的路由逻辑进一步剖析路由(以及特定于参数的正则表达式等)之前,Drupal(不是Symfony)现在正在基于原始斜杠分隔的请求生成404响应。如果是这种情况,则可以解释为什么上述技术停止工作。但是,我仍然想知道是否还有其他方法可以避免使用查询参数和自定义路由订阅者来满足这种需求。
8 8  routes 

2
以编程方式更新现有模块规则的正确方法是什么?
我想为我的自定义模块提供更新,该更新也通过提供了一些规则hook_default_rules_configuration。 现在,如何更新这些现有规则?我可以重新导入它们吗?以某种方式覆盖它们?我在纪录片或各自的钩子中找不到任何关于这个的信息。 似乎有一个钩子可以响应正在更新的规则,所以我想必须有一种方法可以为自定义规则提供更新... 起初我以为它是hook_default_rules_configuration_alter,但由于我只想导入JSON,所以它似乎没有按预期工作。 例如,使用视图,我可以像在这个问题中那样简单地加载所有.inc文件并保存它们-规则中是否存在类似的方式?views_save_view

3
如何根据一天中的时间更改主页?
我为此寻找了高低。如何根据一天中的时间更改主页?绝对明确地说,我想要: 上午8点至晚上7点之间-主页1(node / 4) 在7pm和8am之间-主页2(node / 5) 因此,我想设计两个完全不同的主页,然后根据一天中的时间进行更改。 我尝试了一些代码,但似乎无法完成工作: $current_front = variable_get('site_frontpage'); if($current_front== 'node/4'){ variable_set('site_frontpage','node/5'); }else{ variable_set('site_frontpage','node/4'); } 注意:我不是代码专家,所以不知道从哪里开始使用钩子,而且距创建自己的模块还有一百万年的路程。
8 nodes 

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.