Silverstripe - 如何向现有控制器添加新操作

Silverstripe - How to add a new action to the existing controller

AccountPage_Controller 在 core_shop 模块下定义了一些动作 在 /account url.

我想在/account下添加一个新的action,怎么办?

您没有说明您使用的是哪个版本的 SilverStripe 框架或 cms。假设 v3 或更高版本并根据您的情况,使用称为 "Decorators" 的自定义 Extension 子类可能是最好的方法。

  • 通过使用所需的自定义操作和 $allowed_actions static
  • 创建您自己的自定义控制器来装饰 AccountPage_Controller
  • config.yml
  • extensions 块中引用您的自定义控制器
  • 运行 dev/build flush=all