【问题标题】:Cannot clear cache in Drupal 8无法清除 Drupal 8 中的缓存
【发布时间】:2018-04-16 10:21:53
【问题描述】:

我正在做一个简单的“Hello World”drupal 模块,但它不起作用。

我有 drupal/web/modules/custom/hello_world 中的 hello_world.info.yml

模块已安装并正在运行。

现在我用这段代码添加了一个 hello_world.routing.yml:

hello_world.hello:
  path: '/hello'
  defaults:
    _controller:
'\Drupal\hello_world\Controller\HelloWorldController::helloWorld'
  _title: 'Our first route'
requirements:
  _permission: 'access content'

还有一个 /src 中的 HelloWorldController.php:

namespace Drupal\hello_world\Controller;
use Drupal\Core\Controller\ControllerBase;
/**
 * Controller for the salutation message.
 */
class HelloWorldController extends ControllerBase {
  /**
   * Hello World.
   *
   * @return string
   */
  public function helloWorld() {
    return [
      '#markup' => $this->t('Hello World')
    ];
  }
}

当我点击“清除缓存”以添加路由和控制器时,我得到:

The website encountered an unexpected error. Please try again later.

这在我添加控制器和路由之前不会发生。

有什么帮助吗?

【问题讨论】:

    标签: php drupal drupal-8


    【解决方案1】:

    将您的控制器放入/src/Controller 而不仅仅是/src

    并将所有出现的helloWorld() 重命名为content() 并继承Introductory Drupal 8 routes and controllers example 中的文档。

    【讨论】:

    • 我没有遵循该教程,但也没有运气从头开始尝试。
    • @prgrm - 我敢打赌某处有错字。在您的 routing.yml 中,_controller:'\Drupal\hello_world\Controller\HelloWorldController::helloWorld' 必须在同一行。
    • @prgrm 为了避免拼写错误,最好使用drupalconsole.com 为模块、控制器、服务、块等生成骨架,使用drupal gc 生成控制器跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多