my_module.content: path: '/admin/my_module/{method}' defaults: _controller: '\Drupal\my_module\Controller\MyModuleController::%{method}' // 不工作
如何将 aa 参数发送到 _controller?在控制器的方法之间切换
谢谢!
my_module.content: path: '/admin/my_module/{method}' defaults: _controller: '\Drupal\my_module\Controller\MyModuleController::%{method}' // 不工作
如何将 aa 参数发送到 _controller?在控制器的方法之间切换
谢谢!
在路由中你有这样的东西
example.content:
path: '/example'
defaults:
_controller: '\Drupal\example\Controller\ExampleController::content'
requirements:
_permission: 'access content'
从 URL 中提供参数:
稍后在控制器中添加您想要接收的变量。注意:路径:'/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
将参数传递给表单:
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);
}
如果您想将参数转换为实体(fx. 一个 ID),请注意该参数不能有下划线 - 或者使用驼峰式。
example.entity:
path: '/entity/{entityName}'
defaults:
_controller: '\Drupal\example\Controller\ExampleController::content'
requirements:
_permission: 'access content'
options:
parameters:
entityName:
type: entity:entity_name