Questions tagged «8»

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

2
未在缓存的页面上触发KernelEvents :: REQUEST
我正在尝试实现KernelEvents :: REQUEST事件订阅者,以在页面加载时执行某些操作。 无论请求的页面是否存在于Drupal缓存中,我都需要触发该事件-当Drupal提供缓存中的某些内容时,似乎KernelEvents :: REQUEST不会触发。 是否可以使用某个事件来实现这一目标,还是必须以某种中间件形式实现我的要求?

4
获取自定义用户字段的值
我有一个自定义表单,需要显示来自自定义用户字段的默认值。该字段是在/ admin / config / people / accounts / fields下创建的,其计算机名称为field_r_period_length_sec。 //get user $userCurrent = \Drupal::currentUser(); $uid = $userCurrent->id(); $r_period = $userCurrent->field_r_period_length_sec; 但是,该值未显示,并且出现此错误: 注意:未定义的属性:Dr​​upal \ Core \ Session \ AccountProxy :: $ field_r_period_length_sec 我究竟做错了什么?
13 users  8 

3
如何在节点对象上加载段落实体?
我在内容类型中使用了段落。我创建了一个段落类型并添加了内容。现在,我想将段落加载到中foreach。但是什么都没有出现。$paras是空的: $node = \Drupal\node\Entity\Node::load(1); $paras = $node->get('field_paragraph')->referencedEntities();
12 8  paragraphs 

2
AJAX调用后如何重建表格
我试图允许用户使用ajax调用基于下拉框动态选择多个字段,但是之后似乎无法通过ajax调用来重建表单。 <?php class AJAXexample extends BlockBase { public function blockForm($form, FormStateInterface $form_state) { if (empty($form_state->getValue('number'))) { $form_state->setValue('number', 3); } $form['columnNum'] = [ '#title' => t('Number of Columns'), '#type' => 'select', '#options' => [ 1 => '1', 2 => '2', 3 => '3', 4 => '4', ], '#default_value' => $this->configuration['columnNum'], '#empty_option' …
12 forms  8  ajax 

4
为匿名用户存储数据/会话
我正在一家商店里工作,对于购物车,我需要在付款之前存储物品。 $tempstore = \Drupal::service('user.private_tempstore')->get('boutique'); $tempstore->set('poids', $form_state->getValue('poids')); 我来看看以下用户服务: pivate_tempstore和shared_tempstore 但这仅对验证用户有效。 我可以用来存储数据吗?$ _SESSION吗?还是Drupal 8为此提供服务?
12 8  sessions  files 

4
如何以编程方式删除内容类型?
我在模块安装过程中以编程方式创建了内容类型(使用字段存储配置)。 我要在卸载模块时删除该内容类型。 Drupal 8有什么办法做到这一点?
12 nodes  8 

4
寻找数据库插入示例
根据db_insert手册页,此功能已被弃用,最好使用Drupal 8数据库连接来执行插入。 不推荐使用 从Drupal 8.0.x开始,将在Drupal 9.0.0中删除。而是从容器中将数据库连接注入到服务中,然后在其上调用insert()。例如,$ injected_database-> insert($ table,$ options); 现在如何获得数据库连接和调用insert()方法?
12 database  8 

4
运行Drush返回错误
我正在Dreamhosters上运行Drush 6.2.0版和最新的Drupal 8 beta。在drush cc allsites目录中运行时,执行命令后立即收到以下错误: 致命错误:在第63行的/home/mywebsite/mywebsite.com/core/includes/bootstrap.inc中找不到类'Drupal \ Core \ Session \ AccountInterface',由于不可恢复的错误,Drush命令异常终止。 错误:在/home/mywebsite/mywebsite.com/core/includes/bootstrap.inc,第63行中找不到类'Drupal \ Core \ Session \ AccountInterface' 为什么会发生?我怎样才能解决这个问题?
12 drush  8 

1
在Drupal 8中以编程方式获取表格
该文档指出: 传递给getForm()方法的参数是定义表单的类的名称,并且是\ Drupal \ Core \ Form \ FormBuilderInterface的实现。 如何找到定义核心联系人模块提供的网站反馈表单的类的名称(表单ID为:)。feedback_contact_message_form 当我dpm()填写表格时,可以看到定义了一个类: $input array(30) →'#attributes' => array(1) →'class' => array(3) string(29) "feedback-contact-message-form" string(20) "contact-message-form" string(12) "contact-form" 我尝试了各种形式的参数作为传递给的参数: \Drupal::formBuilder()->getForm(); 但没有运气。谢谢
12 8 

8
修改现有表格
我们刚从Drupal 8开始,很快就遇到了第一个问题。 我应该如何更改Drupal 8中的现有表格? 我们需要更改节点表单的save方法以重定向到另一个页面。我们希望将节点形式更改为类似于多步形式的形式。用户创建新内容后,他们将被重定向到新表单(我们创建)以获取更多信息。 我们解决了实施中的问题hook_entity_type_alter()。 function mymodule_entity_type_alter(&$entity_info) { $handlers = $entity_info['node']->get('handlers'); $handlers['form']['default'] = 'Drupal\mymodule\Form\MyExtendedNodeForm'; $handlers['form']['edit'] = 'Drupal\mymodule\Form\MyExtendedNodeForm'; $entity_info['node']->set('handlers', $handlers); } 然后,我们创建了一个新的表单类,该类扩展了节点表单并更改了save方法。 class MyExtendedNodeForm extends NodeForm { public function save(array $form, FormStateInterface $form_state) { parent::save($form, $form_state); $node = $this->entity; $form_state->setRedirect('entity.regions.add_form', ['nid' => $node->id()]); } } 这很好用,但是很好吗?如果另一个模块执行相同的操作,我们的代码将不再执行。
12 8  forms 


3
可以迁移内容类型吗?
我有一个具有40种内容类型的Drupal 7网站。当Drupal 8发布时,我想迁移这些内容类型。 这是可能的,还是我必须从头开始创建此内容类型?
12 8  migration  upgrading 



2
如何在自定义模块中创建表
在Drupal 7中,我们曾经hook_schema()在.install文件中使用它来创建表。我相信,在Drupal 8中,您也可以做到这一点,但我的印象是您应该使用架构创建.yml文件。 在Drupal 8中创建表的方法是什么?
12 8  database 

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.