私はhook_node_view
を使用する必要があるdrupal 8用のモジュールをビルドしています。フックは、それがメッセージを示している必要がありますよりも正しかった場合、私は、demo_form_node_view
から任意のメッセージを見ることができませんhook_node_viewが動作しません
<?php
/**
* @file
* Demonstrates the possibilities of forms in Drupal 8.
*/
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Entity\Node;
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
use Drupal\Core\Entity\EntityInterface;
/**
* Implements hook_form_alter()
*/
function demo_form_form_alter(&$form, FormStateInterface $form_state, $form_id) {
drupal_set_message(t('Found a form with ID %form_id', array('%form_id' => $form_id)));
}
/**
* Implements hook_node_view()
*/
function demo_form_node_view(array &$build, \Drupal\Core\Entity\EntityInterface $entity, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display, $view_mode) {
drupal_set_message(t('its working'));
}
/**
* Implements hook_form_FORM_ID_alter().
*
* Only alters the Search form 'search_block_form'.
*/
function demo_form_form_search_block_form_alter(&$form, FormStateInterface $form_state, $form_id) {
$form['hello'] = array(
'#markup' => t('Go ahead, try me ...') . '<br />',
'#weight' => -1,
);
}
- :私は、次のコードを試してみました。私はdrupalに新しく、なぜdemo_form_node_view
が機能していないのか理解できません。
念のために...あなたは新しいフック(例えばを追加した後にDrupalのキャッシュをクリアする必要があります'drush cr')。また、フックが呼び出されているのにメッセージが別の理由で表示されない場合は、設定されたメッセージ行をprint/echo行に置き換えてみてください。 –