标签: drupal-8

Drupal 8中的自定义404模板文件

如何404 page在Drupal 8中创建自定义?

我在后台创建了一个名为404(节点号100)的新页面(内容).我在Configuration> Basic site设置中将其设置为404默认页面.

设置

它适用于我在Backoffice中设置的内容.

但现在我希望它以编程方式编辑,我不知道如何创建覆盖文件.

我试图创建mytheme/templates/html--node--100.html.twig它只有当它直接请求url(node/100)时才有效,但是当你在URL上尝试随机slug并且drupal必须解决它时它不起作用.当发生这种情况时,drupal正在为我提供404 page后台内容而不是我刚刚创建的文件中的内容.

我尝试了好几种文件,如page--404-html.twig,html--node--404.html.twig,html--page--404.html.twig,...但它不工作也不

任何人都可以帮我一把吗?

drupal-theming drupal-8

8
推荐指数
2
解决办法
1万
查看次数

我应该选择什么版本的Drupal?

今天是我第一次进入Drupal网站,以便了解它并获得版本6,7,8的API页面.

我认为8正在制作中,但无论如何 - 目前使用的最佳版本是什么?

drupal content-management-system drupal-7 drupal-8

7
推荐指数
1
解决办法
1253
查看次数

如何以编程方式获取Drupal 8中的内容类型名称

我正在研究Drupal 8.我希望获得内容类型的机器名称和标签.这是我的代码:

$cont_type = node_type_get_types();
foreach ($cont_type as $key => $value) {
  $label = $value->name;
  $machine_name = $key;
}
Run Code Online (Sandbox Code Playgroud)

这里我收到一条错误消息: Cannot access protected property Drupal\node\Entity\NodeType::$name

content-type drupal-8

7
推荐指数
4
解决办法
1万
查看次数

Drupal 8自定义块(模块)创建twig模板文件

我有一个自定义模块,可以创建一个具有字段元素的自定义块.

这一切都很好,但我需要主题这个块.我已经检查过这里的其他帖子,并试着没有运气.

我已启用twig调试并获得主题建议.仍然没有运气.

任何人都可以指出我正确的方向.

这是我到目前为止:

my_module/my_module.module

// nothing related in here

my_module/SRC /插件/块/ myModuleBlock.php

<?php

namespace Drupal\my_module\Plugin\Block;

use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormStateInterface;

/**
 * Provides a 'ModuleBlock' block.
 *
 * @Block(
 *  id = "module_block",
 *  admin_label = @Translation("My Module"),
 * )
 */
class ModuleBlock extends BlockBase {

  public function blockForm($form, FormStateInterface $form_state) {
    $form['test'] = array(
      '#type' => 'select',
      '#title' => $this->t('test'),
      '#description' => $this->t('test list'),
      '#options' => array(
        'Test' => $this->t('Test'), 
      ),
      '#default_value' => isset($this->configuration['test']) ? $this->configuration['test'] : 'Test', …
Run Code Online (Sandbox Code Playgroud)

php drupal-8

7
推荐指数
2
解决办法
1万
查看次数

在Drupal 8迁移中调试忽略项的方法是什么

我使用migrate_upgrade模块创建了迁移脚本,但是在迁移时我有很多被忽略的项目,我试图从迁移工具中使用drush mmsg,但是对于忽略的字段只有失败才有帮助.

migration drupal-8

7
推荐指数
3
解决办法
2421
查看次数

如何在 Drupal 8 功能测试中导入配置同步文件?

我想知道如何在我正在测试的模块的功能测试中导入配置同步文件。例如,我想测试一些自定义内容类型,并且 config/sync 中有许多文件与定义自定义内容类型的节点模块有关。

class ArticleControllerTest extends BrowserTestBase {
    protected static $modules = ['node', 'dist_source'];
}
Run Code Online (Sandbox Code Playgroud)

在测试的顶部,我定义了成功导入的模块,但它不包括配置同步设置,因此我的自定义内容类型都不存在。如何将这些导入到我的测试环境中?

phpunit drupal functional-testing configuration-management drupal-8

7
推荐指数
1
解决办法
2040
查看次数

如何为Drupal 8启用PHP OPcode缓存?

我想为Drupal 8安装启用PHP OPcode缓存.我在Xampp php.ini中有以下内容.但是,我仍然没有启用操作码.我究竟做错了什么??

opcache.enable=1

engine = On
zend_extension=php_opcache.dll


opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
Run Code Online (Sandbox Code Playgroud)

php xampp drupal drupal-8

6
推荐指数
1
解决办法
1万
查看次数

Drupal 8,AJAX 从一个块更新另一个块

我在一个页面上有两个并排的块。右侧是一个带有空 div 的自定义块,class="js-view-dom-id-ccd-update"。左侧是一个视图,其中将标题列为内容类型(“中心”)的链接。当用户单击其中一个链接时,我希望该记录的详细信息显示在右侧的块中。

我创建了一个视图(“center”),它将单个中心作为页面返回(机器名称 page_1”)。可以从 URL /center/## 访问该页面,其中 ## 是中心的节点 ID。我使用一个模板,使其仅显示中心内容,而不显示普通页面的其余部分。

我创建了一个 .js 文件,理论上,该文件将附加一个 AJAX 操作来调用该页面视图并将结果放入右侧的块中。这是基于我在这里找到的简短教程:https://www.thirdandgrove.com/rendering-view-ajax-drupal-8

(function ($) {
  Drupal.behaviors.ajaxContentCenter = {
    attach: function (context, settings) {
      $('#content-center-list-block-2 li').once('attach-links').each(this.attachLink) ;
    ),
    attachLink: function (idx, list) {
      // determine the node ID from the link (not ideal but should work for now)
      var link = $(list).find('a');
      var href = $(link).attr('href');
      var matches = /node\/(\d*)/.exec(href);
      var nid = matches[1];

      var view_info = {
        // the view to get one center's record …
Run Code Online (Sandbox Code Playgroud)

ajax jquery drupal-8

6
推荐指数
0
解决办法
3028
查看次数

Drupal 8 孤儿段落

我注意到 Paragraph 实体没有从数据库中删除。他们宁愿取消与父节点的链接。

如果您创建一个视图,该视图列出段落并附加上下文过滤器,该过滤器按Parent ID.

现在,我找到了一种解决方法,可以创建一个列出内容的视图。将关系附加到段落。这样可以确保只显示链接的段落。

仍然存在数据库中有数百个孤立段落和字段数据的问题。有没有办法清理它们?

编辑: 这显然是一个主要错误,可以在段落模块的问题跟踪器中找到:已删除的段落实体不会从数据库中删除

drupal paragraph drupal-8

6
推荐指数
1
解决办法
4727
查看次数

更改显示设置后,新的 Drupal 8 安装中出现错误 500(已分配的最大内存)

我已经设置了一个 Drupal 8 的新实例并安装了两个模块:

  • 段落 (8.x-1.12)
  • 实体参考修订版 (8.x-1.9)

我还安装了 Barrio 主题(Barrio 5.5.1。)

然后我继续创建了一个包含两个字段的新内容类型(都是段落修订)。当尝试通过导航到“内容”->“添加”来添加新页面时,一切正常,直到我继续对表单显示进行任何修改或 内容类型的显示设置。一旦进行了修改,无论进行了哪些修改,我都会在添加所述内容类型的页面时收到错误 500。

相关日志条目:

var/www/vhosts/some-website.com/httpdocs/core/lib/Drupal/Core/Field/WidgetBase.php on line 510', referer: https://some-website.com/node/add/

[Thu Jun 24 16:33:28.779959 2021] [proxy_fcgi:error] [pid 10213:tid 140020013704960] [client 91.249.132.211:43799] AH01071: Got error 'PHP message: PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 135168 bytes) in /var/www/vhosts/some-website.com/httpdocs/core/lib/Drupal/Core/Field/WidgetBase.php on line 510'

[Thu Jun 24 16:36:33.558731 2021] [proxy_fcgi:error] [pid 10213:tid 140019649947392] [client 91.249.132.211:62936] AH01071: Got error 'PHP message: PHP Fatal error:  Allowed memory size …
Run Code Online (Sandbox Code Playgroud)

php drupal drupal-8

6
推荐指数
1
解决办法
121
查看次数