如何访问从url传递的动态参数-Drupal 8

时间:2019-05-10 07:15:12

标签: drupal drupal-8 drupal-modules

我正在Drupal 8.7上创建一个自定义json api,并且正在使用XAMPP(php 7.1)进行开发。但是我无法从控制器文件访问动态argumet

这是我的路由文件

export_json_new.routerule1:
path: '/export/{mid}'
defaults:
_controller: '\Drupal\export_json_new\Controller \ExportEventsController::data'
_title: 'Export events'
requirements:
_permission: 'access content'

这是我的控制人

<?php

namespace Drupal\export_json_new\Controller;

use Drupal\Core\Controller\ControllerBase;
use Drupal\node\Entity\Node;
use Symfony\Component\HttpFoundation\JsonResponse;
use Drupal\Core\Entity\EntityChangedTrait;
use Symfony\Component\HttpFoundation\Request;

class ExportEventsController extends ControllerBase {


public function data($mid = NULL, Request $request) {

$json_array = $mid ;
/* $node = Node::load($mid);*/
$chapters_array= $this->getChapters($node->field_chapters);
$json_array = $request;
/*$json_array = array(
"arg" => $mid,
"title" => $node->get('title')->value,
"email" => $node->get('field_email')->value,
"version" => $node->get('field_version')->value,
"last updated" => format_date($node->getChangedTime()),
"news items" => $this->getNewsItems($node->get('field_news_list')),
"chapters" => $chapters_array,
); */

return new JsonResponse($json_array);
}
conti.......

我试图在控制器中传递中间值,但显示“找不到页面”错误。

例如:如果我尝试http://localhost:82/mom/export/21 妈妈是我的应用程序根文件夹

如果我没有传递动态参数,我将得到结果。     http://localhost:82/mom/export/ 我的意图是获取控制器中url的动态部分。如前所述,使用请求对象或直接访问它。

有人可以帮我吗?

0 个答案:

没有答案