Questions tagged «8»

版本标记应用于仅适用于版本的问题,而不仅仅是说明网站使用的版本。

1
实施自定义缓存标签
我想在D8中使用新的缓存标记来帮助保持不同类型(实体,节点,块等)的相关内容同步。但是通过阅读此功能的当前可用文档,我不了解如何在创建/更新内容项时将自己的缓存标签添加到内容项中。 例如,当创建类型为Store的新节点时,我想添加缓存标记location:new_york_123,并为aa块添加相同的标记。然后,如果将New York 123位置的显示名称更改为SoHo,则可以使缓存标记无效,并更新所有相关内容。
14 8  caching 


5
如何在Twig中打印自定义日期格式?
如何在Twig中打印自定义日期格式?首先,我试图编辑field.html.twig名为的字段的field_publication_date,在该文件中,我找到了该变量{{ item.content }}进行打印 Jun, 12/06/2016 - 12:29。 这是我尝试过的: {{ item.content.field_publication_date|format_date('M') }}
14 theming  8  datetime 


3
在分类条件上具有多个条件的entityQuery不返回结果
在我的用例中,我有一个实体,该实体具有两个引用唯一词汇表的字段。 新闻:-标签(实体参考)-类别(实体参考) 如果我查询其中一个引用,则会得到结果,但是当我同时查询两个(AND过滤器)时,不会得到结果。到目前为止,我已经对其进行了三重检查,并且有些实体同时包含我要查询的标签和类别。 这是用户错误还是Drupal错误? $query = \Drupal::entityQuery('node') ->condition('status', 1) ->condition('type', 'news') ; $group = $query->andConditionGroup() ->condition('field_tag.entity.name', ['cars'], 'IN') ->condition('field_category.entity.name', ['sport'], 'IN') ; $query->condition($group); $nids = $query->execute(); 编辑:我通过查询原始值而不是entity.value找到了解决方法。虽然这是不希望的情况 $query = \Drupal::entityQuery('node') ->condition('status', 1) ->condition('type', 'news') ; $group = $query->andConditionGroup() ->condition('field_tag.entity.name', ['cars'], 'IN') ->condition('field_category', [1], 'IN') ; $query->condition($group); $nids = $query->execute();
13 8  entities 

2
Drupal 8中有哪些克隆站点?
尝试将我的站点配置从一个Drupal 8站点导出到另一个站点时,我不断收到以下错误 无法导入暂存的配置,因为它源自与该站点不同的站点。您只能在此站点的克隆实例之间同步配置。 那么在这种情况下,克隆站点是什么?如何覆盖此错误以导入配置?

6
如何在特定节点中嵌入视图?
我尝试在特定节点中嵌入视图。我找到了使用Drupal 7和PHP模板进行此操作的教程: <?php print views_embed_view('view_name'); ?> 但是我在Drupal 8中使用树枝模板寻找一种方法。我尝试在中调用该views_embed_view()函数hook_node_view()并将其分配给节点,以便可以在树枝模板中将其打印出来。但是似乎这个钩子永远都不会被调用。 任何提示/解决方案如何以Drupal 8方式执行此操作?
13 views  8  nodes 

7
用户登录REST格式
有人在Drupal 8上有有效的 REST登录吗? 这就是我尝试过的。 POST /user/login HTTP/1.1 Host: 8.d8.local Content-Type: application/x-www-form-urlencoded Accept-Encoding: http://nikhilmohan.in Cache-Control: no-cache name=test&pass=password&form_id=user_login_form 它返回我HTML而不是JSON。
13 8 

2
如何在Drupal 8中默认使自定义字段集折叠
在Drupal 7中,可以选择是否使字段集可折叠,并限制此表单元素的默认状态(折叠或未折叠)。例: $form['contact_data'] = array( '#title' => t("Contact data"), '#type' => 'fieldset', '#collapsible' => TRUE, '#collapsed' => FALSE, ); 现在,在Drupal 8中我找不到属性#collapsible,#collapsed在中Drupal\Core\Render\Element\Fieldset。在Fieldset元素的官方文档中未提及任何新元素,这些新元素应替代Fieldset元素。 此外,还没有Drupal 8的Form API元素概述(例如Drupal 7)。您必须在代码中手动搜索所有Render Elements定义,这比较耗时(尤其是当您希望查看元素概述并进行比较时) 。
13 forms  8 

4
手动清除数据库存储的高速缓存时应清空哪些表?
在D8之前,要手动清除缓存,可以截断所有以开头的表cache_。 在Drupal 8中,仍然存在以开头的表cache_,但也有一个cachetags表。 cache_*如果需要手动清除缓存,D8中的建议是否仍会被截断?将cachetags表和表一起截断是否安全/必需/建议cache_*? 我知道可能会有contrib模块在做事上有所不同,我最感兴趣的是内核的功能,以及总体上Drupal 8的“最佳实践”。
13 8  caching 

3
在hook_form_FORM_ID_alter中获取节点对象
跟进这个问题, 但是我没有足够的声誉在评论中要求澄清。 我正在将一个贡献模块移植到Drupal8。上述CR和发布中的摘要代码不起作用: $node = $form_state->getFormObject()->getEntity(); 什么都没有加载到$ node变量中。 我的PHPStorm IDE对getEntity()发出警告:在类Drupal \ Core \ Form \ FormInterface中未找到方法'getEntity',在主题类中未找到...。 它也没有提供此方法来完成代码。 在使用原因中,我指的是: use Drupal\Core\Entity; use Drupal\Core\Entity\EntityInterface; use Drupal\node\Entity\Node; use Drupal\Core\Render\Element;
13 8  forms 

6
403错误后如何将匿名用户重定向到登录表单?
如果匿名用户遇到403错误,我想将其重定向到登录表单。 我已经创建了事件订阅者,这是我的代码,但是最后在当前页面上循环了。 /** * Redirect anonymous user to login page if he encounters 404 or 403 * response. * * @param \Symfony\Component\HttpKernel\Event\GetResponseEvent $response * The created response object that will be returned. * @param string $event * The string representation of the event. * @param \Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher $event_dispatcher * Event dispatcher …
13 8  routes  redirection 

3
如何从drush或PHPmyadmin禁用聚合?
我一直在搜索,发现所有与Drupal 7有关的交易。旧的drush命令drush vset preprocess_js 0对Drupal 8不起作用,DB中的“变量”表在8中不存在... 但是,由于某种原因,我无法在D8站点中禁用聚合,并希望从drush或DB中禁用聚合。 你知道吗


4
在自定义块上设置缓存上下文的正确方法是什么?
我遇到了一个问题,即对于注销用户而言,每页应该唯一的一个块不适用。问题是我在视图搜索页面上拥有一个自定义块插件,该插件包含自定义过滤器(有点像自定义替换暴露的过滤器。通过/ admin / structure / block放置的块)。 根据我对Drupal 8的了解,我将缓存上下文添加到构建数组中: public function build() { $search_form = \Drupal::formBuilder()->getForm('Drupal\mymodule\Form\SearchForm'); return [ 'search_form' => $search_form, '#cache' => ['contexts' => ['url.path', 'url.query_args']] ]; } 但是看来这一定是不正确的,因为注销后,该块将在第一个视图上缓存,并且当url更改时,它没有显示该块的新版本。 我认为可能是导致问题的视图页面,但是即使我在视图页面上关闭了缓存,问题仍然存在。 我可以通过几种方式解决此问题,例如,使用preprocess_block挂钩: function mymodule_preprocess_block__mycustomsearchblock(&$variables) { $variables['#cache']['contexts'][] = 'url.path'; $variables['#cache']['contexts'][] = 'url.query_args'; } 但这让我感到困扰,我不能只是将缓存上下文放入块的构建数组中。 由于我的代码块扩展了BlockBase,因此我决定尝试使用getCacheContexts()方法,尤其是因为我看到核心中的某些模块正在这样做。 public function getCacheContexts() { return Cache::mergeContexts(parent::getCacheContexts(), ['url.path', …
13 8  blocks  caching 

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.