2017-02-24 78 views
0

我正在用reactjs构建Drupal 8模块,我需要从控制器获取当前节点ID,因此我可以根据节点ID执行某些任务,但我总是收到一个空值值,我的路由工作正常,我的功能如下:Drupal 8 - 从控制器获取当前节点ID

public function currentNodeId() 
    { 
     // get current node 
     $node_id = \Drupal::routeMatch()->getParameter('node')->Id(); 

     return new JsonResponse(
      array(
       'node_id' => $node_id 
      ) 
     ); 
    } 

和mymodule.routing.yml我:

mymodule-currentNode: 
    path: '/mymodule/currentNodeId' 
    defaults: 
    _controller: '\Drupal\mymodule\Controller\MyModuleController::currentNodeId' 
    _title: 'Current node id' 
    requirements: 
    _permission: 'access content' 

我可以从我的模块文件“获取当前节点ID mymodule.module'与我在currentNodeId函数中做的相同:

$node_id = \Drupal::routeMatch()->getParameter('node')->Id(); 

任何人都知道这是某种安全还是我做错了什么?谢谢

回答