如何在Drupal 8中正确使用hook_insert

时间:2018-11-01 15:43:47

标签: php drupal hook drupal-modules drupal-8

我为Drupal 8创建了一个自定义模块。我创建了一个钩子,该钩子将在创建新节点时进行检测,然后将通知发送给订户。我的代码是这样的:

scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());

是否需要更改某些内容才能使其正常工作? if语句内的所有代码都可以在if语句外工作。

2 个答案:

答案 0 :(得分:2)

您可能想要实现 hook_node_presave

它将作用于正在创建或更新的节点,然后将其保存到数据库中:

function onesignal_api_node_presave(\Drupal\Core\Entity\EntityInterface $node) {
  if ($node->isNew()) {
    // $node is about to be created...
  }
}

@see hook_ENTITY_TYPE_presave

答案 1 :(得分:0)

请查看下面的代码,然后根据需要添加代码。

function onesignal_api_entity_insert(Drupal \ Core \ Entity \ EntityInterface $ entity){

if($ entity-> getEntityType()-> id()=='node'){

    switch ($entity->bundle()) {

       case 'content-type-name':    // if multiple entities 
    }
  }     
}