在自定义扩展中,我创建了一些 URL 挂钩,如下所示:
namespace MyExtension;
class Extension extends \Bolt\BaseExtension
{
public function initialize()
{
// audio sample management
$this->app->match("/foo", array($this, 'foo'));
$this->app->match("/bar", array($this, 'bar'));
}
function foo()
{
// ...
}
function bar()
{
// ...
}
}
我可以通过这样的 url 来访问这两个函数:
- example.com/foo
- example.com/bar
...两者都将执行。
但是,当我将页面绑定添加到routing.yml
它时,它会中断并且它会尝试寻找foo
并且bar
好像它们是pages
.
pagebinding:
path: /{slug}
defaults: { _controller: 'Bolt\Controllers\Frontend::record', 'contenttypeslug': 'page' }
contenttype: pages
我怎样才能拥有foo
和bar
不让他们被这种绑定抓住?
解决方案
在我的路线之前添加了以下路由片段pagebinding
。
foobinding:
path: /foo
defaults: { _controller: 'MyExtension\Extension::foo' }