Showing a message for specific content type I'm trying to show a message for specific content type through a new module, on Drupal 8.3.0. (I'm a beginner.) 

This is part of the code I am using.

File test_module.module (updated code, still not working)

/**
 * @file
 * Implementation of hook_node_view();
 */

function test_module_node_view($node, $view_mode) {
  if ($view_mode == 'full' &amp;&amp; $node-&gt;type == 'test_content') {
      /*Message with current date and time*/
      $current_time = time();
      drupal_set_message(t('Hello! Today is '.format_date($current_time,'medium')));
    }
  }


As far as I know, this should work, but it doesn't and I don't know why. The message is not showing for a node of content type "test_content". How can I fix this? Is there another way to alter nodes of custom content types?


  





  


(Test_content_example is a node of type 'test_content', so there should be a system message displayed, but there's none.)
$node-&gt;type is a reference to the node type config entity - it's not a string.

You can use NodeInterface::getType() instead, e.g.:

if ($view_mode == 'full' &amp;&amp; $node-&gt;getType() == 'test_content') {

}


Incidentally you could also use $node-&gt;bundle(), or even $node-&gt;type-&gt;entity-&gt;id(). But getType() is probably most appropriate for your specific needs.

You also have the function signature wrong - it should be:

function test_module_node_view(array &amp;$build, \Drupal\node\NodeInterface $node, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display, $view_mode)