Questions tagged «8»

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

3
如何通过唯一的配置文件部署/管理类似的站点,而没有转储?
我不喜欢“ 克隆网站”解决方案,该解决方案意味着要转储数据库并将此转储导入另一个环境。这看起来并不像部署同一网站的多个实例(staging / prod / dev / etc)的真实方法。 对于D7,我们通常使用自定义配置文件,并使用drush从这些配置文件安装网站(并可能使用功能进行以后的网站同步)。这为我们提供了全新的安装,没有测试内容,但是共享了重要的设置。例如,公共内容同步将通过迁移完成。 我试图管理几个共享相同安装配置文件的D8实例。最终目标是共享和同步站点配置。而且每个安装都有一个不同的站点UUID。我system.site uuid在安装时强制执行config变量没有成功(当然,我以后可以更改该值,但是在我看来这已经太晚了,并且所有对象都已经使用不同的UUID创建,这使得第一次同步成为噩梦。,其中必须删除一些默认内容,或者由于无法删除同步,默认语言导致同步崩溃等)。 为了强制执行此UUID,我尝试使用生成的settings.php文件,该文件中包含一个$config['system.site']['uuid']值,但失败很大(即使在站点安装后,该设置也被完全忽略了)。 我还查看了我不完全了解的配置安装程序配置文件,尤其是将该解决方案与另一个安装配置文件混合使用的方式。 所以问题是,从安装配置文件部署新站点的最佳方法是什么: 无需“克隆网站”,也无需在创建网站时操纵SQL转储(例如,在“ 克隆网站问题”中)。 用新鲜干净的安装(没有开发内容垃圾),使用导出的配置和代码只 它可以管理安装配置默认值和以后的同步

2
如何将参数传递给表单生成器?
我在module_name.routing.yml中有以下路由。 module_name.usergroup_delete: path: 'module_name/usergroup/delete/{arg1}' defaults: _form: '\Drupal\module_name\Form\DeleteUserGroup' _title: 'Delete User group' requirements: _permission: 'access admin menus' 这是module_name / src / Form / DeleteUserGroup.php中的代码。 namespace Drupal\module_name\Form; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; class DeleteUserGroup extends ConfigFormBase { public function getFormId() { return 'delete_user_group'; } /** * General form for switching all nodes from …
15 forms  8 

4
验证字段不为空
检查节点模板中的字段是否为空的最佳方法是什么。 在node--example.html.twig中,我们可以使用“ content”变量。 我不能像检查块一样使用检查 {% if content.field_example %} 我可以这样使用: {% if content.field_example['#object'] is defined %} 但是最好的方法是什么?
15 theming  8 

3
如何访问Twig中的现场数据?
我有一个自定义块类型的列表字段,如下所示: left|Align left right|Align right 我可以通过执行以下操作来访问Twig中的密钥: {% block content %} {{ content.field_align }} {# outputs 'right' #} {% endblock %} 但是,如果我进行简单比较,则输出FALSE。 {{ kint(content.field_align == 'right') }} 以下代码返回TRUE。 {{ kint(content.field_align['#items'].getValue()|first.value == 'right') }} 是否有获取“真实”字符串的较短版本,所以我可以使用Twigs字符串过滤器并使它保持整洁?
15 entities  8  theming 

10
将课程添加到内容字段(链接)
我想将一个类添加到<a>由链接和文本组成的字段的标签中。(这是Link类型的字段。)该字段的名称为content.field_c_button_link。 在模板文件中,我想添加如下内容。 {{ content.field_c_button_link.0.addClass('button blue') }} 如何正确添加课程? 根据Patrick Scheffer的回答,我查看了一个字段的设置,可以在其中添加其他CSS类,但找不到任何CSS类。这是我可以在链接字段中编辑的屏幕截图。

2
如何创建一个空模块?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 一个人可以在Drupal中创建的最基本的有效模块是什么? 对于刚开始使用Drupal的任何人来说,提供一个简单的蓝图将很有用。
15 8 

1
如何在\ Drupal :: moduleHandler()上对控制器使用依赖项注入?
我在控制器类中使用以下行。 \Drupal::moduleHandler()->alter('mymodule_myfunction', $plugin_items); Pareview.sh给我这个错误消息。 \在类中应避免重复调用,而应使用依赖注入。 我应该如何做到这一点?我需要创建构造函数,创建方法还是服务?如果是这样,服务应该需要什么代码?对于已经存在服务的情况,我找到了一个有关“应避免在类中进行Drupal调用,而应使用依赖注入”的示例。

6
调试树枝模板时,如何使kint()加载更快?
我已经看了很多关于Devel模块中的kint()如何难以使用的讨论,因为它最大化了PHP的内存限制并导致浏览器拖拽。我听说过一些有关通过限制级别数来提高其速度的想法。例如,在settings.php中,您可以执行以下操作: require_once DRUPAL_ROOT . '/modules/contrib/devel/kint/kint/Kint.class.php'; Kint::$maxLevels = 3; 还有其他方法可以提高kint()的速度吗?
15 theming  8  performance 

5
如何禁用Twig并阻止特定模块的缓存?
我正在使用Drupal 8中的一个模块,该模块从外部REST API中检索对时间敏感的数据。数据被处理并转发到块。最终数据将发送到Twig模板,如下所示: ... public function build() { $build = []; $build['ticker_block'] = [ '#theme' => 'module_theme', '#data' => $myService->data(), ]; return $build; } 这在启用了缓存且呈现的数据显示为过时的生产环境中不起作用。如何仅对我的模块禁用缓存,我是否必须对Twig模板和Block插件都进行缓存?
15 8  caching  theming 

6
无法安装…在活动配置中已存在
在Drupal 8.1上,当我尝试激活对基本页面进行一些修改的自定义模块或自定义功能时,我一直在运行此类消息。(添加字段)。 真烦人... 脚步: 完全清除数据库 转到/install.php并选择标准配置文件 现在站点正在运行,请转到扩展 选择功能-基本页面 结果: Unable to install Feature - Basic Page, core.base_field_override.node.page.promote, core.entity_form_display.node.page.default, core.entity_view_display.node.page.default, core.entity_view_display.node.page.teaser, field.field.node.page.body, node.type.page already exist in active configuration. 是的,我要做的就是:更改那些默认设置! 扩展: 能够安装对基本页面进行一些修改的功能。 我的特色 这是我使用功能模块创建的功能 它基本上将两个字段banner_image和background_image添加到基本页面 档案: config install core.base_field_override.node.page.changed.yml core.base_field_override.node.page.created.yml core.base_field_override.node.page.promote.yml core.base_field_override.node.page.status.yml core.base_field_override.node.page.sticky.yml core.base_field_override.node.page.title.yml core.base_field_override.node.page.uid.yml core.entity_form_display.node.page.default.yml core.entity_view_display.node.page.default.yml core.entity_view_display.node.page.teaser.yml field.field.node.page.body.yml field.field.node.page.field_banner_image.yml field.field.node.page.field_image.yml field.storage.node.field_banner_image.yml …
15 8  features 

5
如何从实体获取捆绑包标签
如何从已加载的实体获取捆绑包的可读标签。 假设我要获取捆绑包my_article的节点的标签,即“我的真棒文章” // Load a node $node = Drupal::entityManager()->getStorage('node')->load(4); print $node->bundle(); // prints the machine-readable name. e.g. 'my_article'. print $node->getEntityType()->getBundleLabel(); // prints 'content type'. 我只能获取包的机器可读名称或实体的标签(“内容类型”,“分类术语”等),但是如何获取包的标签? PS我希望它不要使用不推荐使用的类/函数
15 8  entities 

5
如何防止特定页面被缓存?
我已经在Drupal 8网站上激活了缓存,当然所有页面都按预期进行了缓存。 但是,我希望有一个特定的页面绕过该缓存。 在控制器中,我按如下所示构建了页面: public function myPage() { return [ '#markup' => time(), ]; } 如何告诉Drupal不要缓存我的页面?
15 caching  8 



2
如何在节点模板中获取人类可读的内容类型名称
我已经为节点创建了节点模板,并且其工作正常。 我需要打印内容类型名称,类似于“白皮书”,并且在节点模板中具有计算机名称“ w1”。如果我使用variable {{ node.bundle }},则其打印机器名称。但是我需要一个易读的名字。 我尝试了节点,内容和页面变量的许多元素,但无法打印人类可读的内容类型名称。 有人可以帮忙吗?
14 theming  8  nodes 

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.