标签: drupal-8

删除Drupal 8中的欢迎使用

如何从Drupal 8首页的标题标题中删除"欢迎使用"

在此输入图像描述

在drupal 7中你只需在page.tpl.php中添加这部分代码:

<?php if (!$is_front){
print render($page['content']);
} ?>
Run Code Online (Sandbox Code Playgroud)

drupal drupal-8

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

如何在不使用链接的情况下在Drupal 8中打开模态?

模式不是由用户单击的页面上的链接触发的.当用户到达URL时触发模态.

想象一下,一旦用户到达网址就会弹出免责声明.

ajax modal-dialog drupal-8

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

使用模块中的hook_theme将变量传递给twig

我完全知道如何在Drupal 7中这样做,所以我将解释我通常使用Drupal 7做什么.

在制作自定义模块时,我经常使用hook_theme,它非常强大且可重复使用!

/**
 * Implements hook_theme().
 */
function MODULE_theme() {
    $themes = array();

    $themes['name_of_theme'] = array(
      'path' => drupal_get_path('module', 'module') .'/templates',
      'template' => 'NAME_OF_TEPLATE',
      'variables' => array(
        'param1' => NULL,
        'param2' => NULL,
      ),
    );

    return $themes;
}
Run Code Online (Sandbox Code Playgroud)

然后我会使用这个主题

theme('name_of_theme', array(
   'param1' => 'VALUEA',
   'param2' => 'VALUEB'
)); 
Run Code Online (Sandbox Code Playgroud)

这将返回html,我会很高兴.

所以Drupal 8需要掌握它.

/**
 * Implements hook_theme().
 */
function helloworld_theme() {
  $theme = [];

  $theme['helloworld'] = [
    'variables' => [
      'param_1' => [],
      'param_2' => 'hello',
    ]
  ];

  return $theme; …
Run Code Online (Sandbox Code Playgroud)

php drupal drupal-8 drupal-modules

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

Drupal 8 Ajax忘记了表格的变化

我有一个问题,多个AJAX请求修改drupal 8中的表单.

让我解释一下 - 我一直在尝试在drupal中构建一个测验模块,并决定使用一个小部件来创建可变数量的测验问题,在这个问题小部件中是一个可能的答案列表.我在我的问题小部件中创建了一个AJAX按钮,它允许删除答案并在第一次提交时工作,但由于某种原因第二次运行ajax调用时表单被重置(就像没有进行任何更改一样,并没有删除任何答案).在我取消设置答案之后,我已经调试了表单数组,以及第二次运行ajax回调时.

启用ajax的按钮使用默认的ajax replace方法,我尝试了在AJAX回调中返回表单(减去答案)的不同方法,包括简单地取消设置所选表单元素并返回表单,以及使用AjaxResponse和HtmlCommand类.我也尝试过重建表单,通过formbuilderform_state,没有任何乐趣.此外,每个按钮和答案都有唯一的名称/ ID.

这是我的小部件代码(包括按钮定义):

<?php
/**
 * @file
 * Contains \Drupal\pp_quiz\Plugin\Field\FieldWidget\QuestionWidget.
 */
namespace Drupal\pp_quiz\Plugin\Field\FieldWidget;

use Drupal\pp_quiz\Controller\QuizController;
use Drupal\pp_quiz\Ajax\AjaxHandler;
use Drupal\Core\Field\WidgetBase;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Form\FormStateInterface;

/**
 * Plugin implementation of the 'question_widget' widget
 *
 * @FieldWidget(
 *   id = "question_widget",
 *   label = @Translation("Quiz question widget"),
 *   field_types = {
 *     "quizquestion_type",
 *   },
 * )
 */
 class QuestionWidget extends WidgetBase
 {
     public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface …
Run Code Online (Sandbox Code Playgroud)

php ajax drupal widget drupal-8

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

如何在Drupal 8中获得分类学术语的上级提示

我使用以下代码来获取drupal 8中分类术语的父级:

$parent = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadParents($termId);

$parent = reset($parent);
Run Code Online (Sandbox Code Playgroud)

现在我有了父母,如何从中得到父母的提示?

drupal-8

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

如何以编程方式为Drupal 8中的模块设置缓存期限?

Drupal 8:

我有一个块的代码成功地完成它的工作并返回它.该块称为"RacerProfile",它将其所有内容转储到变量"$ pageContent"中.在最后它返回#markup.好.现在我怎么告诉这个每六个小时失效一次?

/**
 * Provides a 'Racer Profile' Block
 *
 * @Block(
 *   id = "racer_profile",
 *   admin_label = @Translation("Slider v1 block")
 * )
 */
class RacerProfile extends BlockBase {
  /**
   * {@inheritdoc}
   */
  public function build() 
    {
    // does all the work to make $pageContent via non-drupal 
    // database queries. However, for this example, let's just
    // just imagine it gets the time of day. Then, let's set
    // let's set the cache age to 5 seconds …
Run Code Online (Sandbox Code Playgroud)

caching drupal-8

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

如何为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 - 第一页加载时不显示图像样式

我正在使用实体浏览器上传图像和响应式图像样式来显示它们.

我发现创建节点并添加图像后,新用户第一次访问该页面时,图像将不会显示.然后刷新页面将显示图像.

  • 我已尝试使用和不使用itok变量,结果相同.

  • 我尝试使用响应式图像样式和普通图像样式,并使用相同的结果.

  • 首次在后端上传图像时,缩略图不会显示.

  • 图像正确上传,并在文件夹中.

在第一页加载时,正在创建图像样式,我可以在样式文件夹中看到它,它在Windows中打开很好,但如果我查看图像样式URL(.../styles/stylename/public/folder/image .jpg)有一条消息说'图像无法显示,因为它包含错误'.如果我对此做了很多努力,图像会显示出来,然后返回并刷新页面,图像就在那里.

它似乎是浏览器第一次尝试从缓存加载图像并且它不存在,因此URL被破坏.

如果有其他人遇到过这个问题,我很乐意听到.尝试过我能想到的一切.

php image drupal-8

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

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
查看次数

标签 统计

drupal-8 ×10

drupal ×6

php ×5

ajax ×2

caching ×1

drupal-modules ×1

image ×1

modal-dialog ×1

paragraph ×1

widget ×1

xampp ×1