首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >routing.yml文件不工作

routing.yml文件不工作
EN

Drupal用户
提问于 2018-02-27 09:40:57
回答 1查看 143关注 0票数 0

我正在研究一个现有的Drupal 8站点。我正在改变routing.yml中的任何东西。

在一个routing.yml文件中,我有以下内容。

代码语言:javascript
复制
user_profile_update.callback:
  path: '/user-update'
  defaults:
    _controller: '\Drupal\user_profile\Controller\ProfileUpdateController::updateUser'
  requirements:
    _user_is_logged_in: 'TRUE'
    _permission: 'access content'

我想将控制器的方法更改为\Drupal\user_profile\Controller\ProfileUpdateController::updateUser123(),但是在编辑了路由定义之后,ProfileUpdateController类仍然使用updateUser()方法。

我用下面的SQL从数据库中删除了所有缓存表,但是控制器仍然没有使用updateUser123()方法。

代码语言:javascript
复制
TRUNCATE cache_config;
TRUNCATE cache_container;
TRUNCATE cache_data;
TRUNCATE cache_default;
TRUNCATE cache_discovery;
TRUNCATE cache_dynamic_page_cache;
TRUNCATE cache_entity;
TRUNCATE cache_menu;
TRUNCATE cache_render;
TRUNCATE cache_toolbar;

我怎样才能解决这个问题?

EN

回答 1

Drupal用户

发布于 2018-02-27 09:59:13

您的意思是您的routing.yml文件中有这样的内容:

代码语言:javascript
复制
user_profile_update.callback:
  path: '/user-update'
  defaults:
    _controller: '\Drupal\user_profile\Controller\ProfileUpdateController::updateUser'
  requirements:
    _user_is_logged_in: 'TRUE'
    _permission: 'access content'

你还在打电话给updateUser而不是updateUser123

您的控制器应该如下所示:

代码语言:javascript
复制
class ProfileUpdateController extends ControllerBase {

  public function updateUser123() {
  //your code here
  }

}

现在您需要调用该方法:

代码语言:javascript
复制
user_profile_update.callback:
  path: '/user-update'
  defaults:
    _controller: '\Drupal\user_profile\Controller\ProfileUpdateController::updateUser123'
  requirements:
    _user_is_logged_in: 'TRUE'
    _permission: 'access content'

此外,我建议使用钻地清除缓存。这将清空所有缓存,并重新生成执行页面请求所需的数据。

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/256665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档