Drupal

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

2
获取文件的真实路径
我正在Drupal 8中创建一个Excel读取模块。我想获取文件的真实路径,以便从诸如public://2016-03/Places.xls之类的路径读取文件。 我应该调用什么函数来获取文件的真实路径?
11 8  files 

4
获取菜单链接的同级
我正在尝试在Drupal 8中创建一个菜单,它只是当前页面的同级链接。因此,如果菜单为: 家 父母1 子父母1 儿童1 子父母2 儿童2 儿童3 儿童4 父母2 当我在“儿童3”页面上时,我想要一个菜单​​块链接如下所示: 儿童2 儿童3 儿童4 我想我知道如何在D7中做到这一点,但是我很难将这些知识转化为D8。这甚至在D8中可行吗?如果是的话,有人可以为我指出正确的方法吗? 谢谢! 说明:子级别需要可变,以便具有不同深度的菜单项可以显示其同级。因此,例如,除了要为孩子们​​准备菜单外,我还需要为父母父母提供菜单,为父母提供菜单等。我也无法控制/了解菜单的深度以及所有部分的深度。
11 8 

9
如何正确检测区域是否为空?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 8个月前关闭。 我有条件在页面模板中打印区域,因为它不是empty,但是无论如何,它将始终打印空白区域。检测空区域的正确方法是什么? 例如,{% if page.local_tasks is not empty %}{{ page.local_tasks }}{% endif %}输出<div class="region region-local-tasks"></div>。 如果我使用渲染区域themename_preprocess_page(),var_dump(drupal_render($variables['page']['highlighted']));我将获得带有占位符标记的SafeString: <div class="region region-highlighted"><drupal-render-placeholder callback="Drupal\Core\Render\Element\StatusMessages::renderMessages" arguments="0" token="a8c34b5e"></drupal-render-placeholder></div> 因此,从技术上讲,该区域并非空白,但对此我无能为力。
11 8  theming 

1
如何以及何时使用filter_xss()和check_plain()?
views-view-fields--magazine--magazine.tpl.php我的网站上有很多这样的模板文件。我应该如何以及何时使用filter_xss()和check_plain()来提高安全性?例如,这是代码: <div> <div class="bf-header bf-article-header"><?php print $fields['title']->content; ?></div> <div class="bf-article-body"><?php print $fields['field_magazine_body']->content;?></div> <div class="bf-article-image"><?php print $fields['field_magazine_image']->content;?></div> </div> <div class="separator article-view-separator"></div> 如何在其中应用这些功能?
11 security 

2
如何以编程方式更改视图模式?
我想以编程方式更改节点的查看模式。我使用hook_preprocess_node(&$vars)并设置了视图模式: function moduleName_preprocess_node(&$vars) { // if conditions to apply particular view mode $vars['view_mode'] = 'teaser'; $vars['elements']['#view_mode'] = 'teaser'; } 但这没有按预期工作。我在这里想念什么吗?
11 7  nodes  entities 

4
AJAX的状态消息
我正在通过标准的AJAX框架在drupal 7中进行AJAX调用。我的问题是,当状态消息由AJAX回调设置时,它只会丢失(或在页面的下一次重新加载时显示)。如何在AJAX回调完成运行后立即显示状态消息,而无需重新加载页面?是否有一个模块?

2
使用钩子更新/删除/添加新内容后如何删除缓存?
我们在Drupal 7中有一个自定义服务模块和一个站点,在编辑器添加新内容或更新现有内容之后,我得到了删除缓存的任务。 我已经读过一个名为Cache Actions的模块,但是,正如我所说,我需要在自定义模块上创建该函数。 另外,我已经开始阅读有关Drupal钩子的内容,但仍然不知道如何实现此任务。有什么建议么?谢谢。
11 7  hooks  caching 

1
翻译视图:由于文本格式的文本格式,不允许翻译文本组视图的内容
我的视图标题出现此问题。我可以输入翻译,但是当视图以该语言显示时,翻译后的文本不会呈现。 我在“视图”界面中收到以下警告: content for textgroup views is not allowed for translation because of its text format. 我阅读了其他文章,建议前往Configuration » Regional and language » Multilingual settings并验证是否选择了文本格式。这篇文章正在解决块的问题,它不能解决我的问题。任何类似的经验或解决方案? Drupal 7-视图3
11 views 


3
如何为我在代码中渲染的块渲染上下文链接?
我加载了一个块主题和内容,module_invoke()并用于render()渲染它们。我想为此块使用上下文链接。我如何也可以渲染它们? 这是我正在insde页面中使用的代码-front.tpl.php模板。 $block = module_invoke('block', 'block_view', '4); print render($block); 我应该改用什么代码?
11 7  blocks 

3
Drush Make删除.git文件夹
在对drush make和github感到愚蠢的感觉之后,我发现drush make删除了所有.git文件夹(由git用于记录历史记录,配置,原始位置等),我以前听说过,但是没有遇到我自己,因为我不维护make文件。 特别是drush make会删除.git文件夹,并且您可以看到,如果使用--debug选项运行它 Executing: rm -rf '/tmp/drush_make_tmp_1305733094/__git__/__build__/.git' 在我的make文件中,我要从git repo中获取4件事,因为我希望跟踪它们的开发情况,其中2个是我的自定义组件(1个自定义模块和1个记录所有配置的功能),以及其他drupal核心和媒体模块他们收到的大量修复程序。如果我不能拥有各自的.git文件夹,则整个目的似乎被挫败了,但我也确信,有一种方法可以使其他人在git中使用drush make,但无法在我的快速搜索中找到。 谢谢你的时间!

4
如何重新运行hook_post_update_NAME()
引入了hook_post_update_NAME() Drupal 8 ,它在hook_update_n更新模块方面比拥有一些优势。 每个hook_post_update_NAME()都只能运行一次,但是有时我想重新运行它,例如在开发过程中调试更新挂钩时。使用hook_update_n,您可以在数据库中重置架构版本。 您如何重新运行hook_post_update_NAME()?
11 8  updating 

1
将类添加到包含['data']的Drupal表单元中
在Drupal 8中,渲染Tables仍然很像Drupal7。您在PHP中构建了行和列的多维数组,然后将Drupal 分别转换为a <tr>和<td>s。仍然存在令人困惑的Drupalism,'data'它使您可以将渲染数组元素添加为单元格数据(不要与数据属性相混淆)。 我得到了一个站点,开发人员选择使用“数据”来渲染单元格的内容,但是我无法弄清楚如何<td>在数据周围添加类。 我已经阅读了Table.php的源代码和文档,并且知道新版本,#wrapper_attributes 但是我无法破解。 我尝试了至少四种添加类的方法,但均无效果。 $table['row-' . $row_id] = [ // Option 1: Class appears on <tr> tag '#attributes' => [ 'class' => ['option-1-row-attributes'], 'id' => 'row-' . $row_id, 'no_striping' => TRUE, ], // Option 2: Class appears on <td> tag of first column. 'item' => [ …
11 theming  8 

5
如何使用代码控制块的可见性?
在Drupal 6中,我可以在块UI配置中使用PHP代码来控制块可见性,例如: <?php return MYMODULE_abc() || MYMODULE_def() ; ?> 这些功能查询当前节点,分类法等,以决定是否显示该块。这个PHP选项在Drupal 8中消失了,但是中有一个$visibility字段BlockBase。我可以使用它来以编程方式在运行时设置可见性吗?
11 8  blocks 

4
导出菜单配置[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 8个月前关闭。 寻找一种导出菜单配置的方法。配置管理系统将导出菜单本身,但不导出菜单链接配置。我正在寻找一种方法来将这些大型菜单之一放入版本控制中,以通过多个环境导入/导出。 如果有人找到了执行此操作的好方法。我将不胜感激。

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.