问题标签 [drupal-9]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
field - 复制字段配置以在表单 API 中创建新的类似字段
对于 Drupal 9 上的自定义模块,我需要在编辑表单中为某些节点类型插入新字段(来自 hook_form_alter)。到目前为止,我很好地插入了新字段,但我希望这个新字段共享原始字段的所有配置内容(即 - 它们都是“字符串”类型 - 最大长度、必需等)。
我可以进行配置,但我确信它存在一种复制现有字段的所有设置并通过$form['my-new-field'] 内容将它们应用于新创建的字段的方法。
我发现的所有“克隆”内容主要是为了在某些节点配置中添加一个永久的新字段,但我的目标是从 hook_form_alter 动态创建它,而不是创建一个“真正的”新字段。
关于使用方法的任何线索?谢谢。
drupal-8 - 添加图像时,Drupal Renderer 无法生成。SSL 操作因代码而失败
我有一个带有“另存为 PDF”按钮的自定义表单控制器,在我想将徽标图像添加到 PDF 的标题之前,一切正常。我收到上下文 Open SSL 错误消息,但不确定如何为渲染添加适当的上下文。
我尝试添加徽标后立即失败:
错误信息:
drupal - Drupal 8 为什么我应该使用依赖注入?为什么这是最佳实践?
Drupal 中关于依赖注入的每一篇文章都说,你应该使用它,并且它是一种最佳实践。
我知道如何使用它,并且在我的代码中使用它。但我不知道为什么使用它是最佳实践?为什么它是最好的方法,为什么我应该使用它?为什么我们应该避免将服务称为静态 \Drupal::service('database')?
它与性能问题有关吗?
在描述 Drupal 中的依赖注入的文章中,没有关于使用 DI 原因的信息。只是指定每个人都应该使用它。
command-line - Drush 错误:调用未定义的方法 Symfony\Component\Config\Definition\BaseNode::resetPlaceholders()
我使用推荐的 Drupal 方法创建了 Drupal 9 安装,并且 Drupal 站点运行良好。我已经使用它数周来为我的网站构建结构并开始填充数据。
但是,最近我尝试在命令行上使用 Drush 来清除缓存(drush cr
)。它不起作用,而是引发以下错误:
错误:调用未定义的方法 Symfony\Component\Config\Definition\BaseNode::resetPlaceholders() in /var/www/path-to-site/vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php 行 99 #0 ...
我做了一个composer global require drush/drush
全局安装 Drush,但即使运行drush --root=/var/www/path-to-site status
也不起作用。
我不擅长命令行故障排除。有谁知道可能的问题是什么?
drupal - 在 Drupal 9 中以编程方式获取字段翻译的默认值
Drupal 9 中的字段定义可以翻译:字段标签、字段描述和默认值可以获取每种语言的值。
在 hook_form_alter 中,我需要“复制”一些现有字段,但使用不同的语言。我的流程是:
这适用于标签和字段描述(它们被翻译成目标语言)。但是默认值会失败(在节点创建而不是修改的情况下)。好吧,它有时会起作用,但并非总是如此,而且并非在所有情况下都有效。例如,如果我用一种不是默认语言的语言创建新内容,则默认值不会被翻译,并且始终是当前语言。
我尝试了很多东西,例如在 $items 上使用 setLangcode(),执行多个 $entity->getTranslation() 等。查看数据,似乎 $widget 的语言很好(我强制的那个)但是$items 中仍然包含当前语言(即使在使用 setLangcode() 之后)。因此,在调用 $widget->form() 之后,我得到了不好的结果(或者,至少,结果不稳定)。
那么,我错过了什么吗?有没有其他/更好的方法来做到这一点?问候。
docker - 如何让 IntelliSense/Intelephense 查看 Drupal Docker 容器内部?
我正在使用最新的官方 Drupal/PHP/Apache Docker 映像开发 Drupal 站点。
我有一些本地目录按预期映射到 Drupal 容器内部(模块、配置文件、站点、主题)。
例如,当我创建一个模块并尝试扩展诸如 BlockBase 之类的 Drupal 类时,我收到一条错误消息,指出 BlockBase 未定义。这是因为 Drupal 核心代码在容器内部,intelephense 和 intellisense 看不到。请注意,代码在运行时实际上非常好。
这个问题也意味着我没有得到任何自动完成或方法等的建议。
有没有办法解决这个问题,例如通过某种方式让 intelephense 访问容器内部?
谢谢你。
drupal-8 - 在实体中修改 Rabbit Hole 模块的行为时,会发生什么变化:内容或数据库上的配置?
我最近在我的 Drupal 9 安装中安装了 Rabbit Hole 模块。我的问题是,当修改实体中兔子洞模块的行为时,会发生什么变化:数据库上的内容或配置?
drupal - 无法在我的 drupal 9 中打开自定义模块
我想创建路由以在 drupal 9 的自定义模块中返回简单文本。每当我尝试打开页面时,它都会显示错误“找不到页面,找不到请求的页面。” 这是我的代码。
mymodule.info.yml
mymodule.routing.yml
第一控制器.php
drupal - 在 drupal 9 中安装自定义主题时遇到问题
我正在学习在 drupal 9 中安装自定义主题,并在外观页面“遇到错误”上遇到错误。这是我的代码
顾问.info.yml
mysql - 将 CSV 表导入 phpmyadmin 数据库时出错
我正在使用 Drupal 9 mariadb 数据库。我正在尝试从 excel CSV 文件手动导入数据。我导出了表格并为 excel 选择了 CSV。我将东西添加到字段中保存它,然后尝试导入它。
我的 excel 文件在记事本中看起来像这样
捆绑包;已删除;实体 ID;修订 ID;语言代码;增量;comment_body_value;comment_body_format comment_forum;0;9;9;en;0;"
祝吉米网站好运!
马里奥
";basic_html我在 CSV 中有 1500 行额外的数据
当我尝试导入时,我选择用以下分隔的列:; 包含以下内容的列:“ 转义的列:” 以:auto 结尾的行
导入后出现此错误
SQL 查询:复制
INSERT INTO comment__comment_body
VALUES ('bundle', 'deleted', 'entity_id', 'revision_id', 'langcode', 'delta', 'comment_body_value', 'comment_body_format') MySQL 说:文档
#1366 - 不正确的整数值:列的“已删除” db
。comment__comment_body
. deleted
在第 1 行
所以根本没有进口任何东西。我的 CSV 中的 SO 列由 ; 分隔 并且comment_body_value也包含在“”中,因为它是一个html代码行,我猜想用新行转义......我不确定为什么我会收到错误以及为什么这不起作用我认为phpmyadmin将能够检测到所有设置