my_module.content: 路径:'/ admin / my_module / {method}' 默认值: _controller:'\ Drupal \ my_module \ Controller \ MyModuleController ::%{method}'//不工作
如何将参数发送到_controller?在控制器的方法之间切换
谢谢!
答案 0 :(得分:3)
在路由中你有类似的东西
example.content:
path: '/example'
defaults:
_controller: '\Drupal\example\Controller\ExampleController::content'
requirements:
_permission: 'access content'
从网址提供参数:
稍后在控制器中添加要接收的变量。 注意:路径:'/ example / {id_param}'
example.content:
path: '/example/{id_param}'
defaults:
_controller: '\Drupal\example\Controller\ExampleController::content'
requirements:
_permission: 'access content'
现在,在控制器中:
你会有这样的东西
function content($id_param) {
echo($id_param);
}
打印传递给URL的任何内容。例如yourdrupalsite.com/example/1920
打印
1920
答案 1 :(得分:0)
将参数传递给表单:
MODULE_NAME.contactform_results:
path: '/contactform/results/{PARAMETER}'
defaults:
_title: 'Contact Form Submissions'
_form: '\Drupal\MODULE_NAME\Form\TicketSendingForm'
requirements:
_permission: 'access control'
然后使用表单构建器功能
public function buildForm(array $form, FormStateInterface $form_state, $PARAMETER = null) {
echo ($PARAMETER);
}