URI {url} 的控制器不可调用
The controller for URI {url} is not callable
目前我正在学习 Pimcore,这是用 Symfony 制作的(我是一个 Laravel 人 :3 )所以我有他的错误:
The controller for URI "/article/1132/This%20is%20my%20first%20post%20in%20Pimcore" is not callable:
Expected method "blogarticleAction" on class "AppBundle\Controller\DefaultController".
我正在尝试根据其 ID 获取(博客文章的)对象,然后将该博客文章显示给用户。
我用 blogarticleAction
方法制作了那个控制器:
<?php
namespace AppBundle\Controller;
use Pimcore\Controller\FrontendController;
use Symfony\Component\HttpFoundation\Request;
use Pimcore\Model\DataObject;
class MyContentController extends FrontendController
{
public function defaultAction(Request $request)
{
//$this->view->blogpostList = new DataObject\Blogpost\Listing();
$list = new DataObject\Blogpost\Listing();
$paginator = new \Zend\Paginator\Paginator($list);
$paginator->setCurrentPageNumber( $request->get('page') );
$paginator->setItemCountPerPage(3);
$this->view->paginator = $paginator;
}
public function blogarticleAction(Request $request)
{
$this->view->blogarticle = DataObject\Blogpost::getById($this->getParameter('id'));
}
}
此外,这是我在 Pimcore 管理面板中的 static route
:
https://prnt.sc/w96ya3
链接似乎形成正确:
https://prnt.sc/w96zvn
但是当我点击那个 link 转到一个博客帖子时,我得到了这个:
https://prnt.sc/w970kg
错误指出该方法应该存在于 DefaultController 而不是 MyContentController 上。在您的静态路由截图中,您只使用了 DefaultController。
目前我正在学习 Pimcore,这是用 Symfony 制作的(我是一个 Laravel 人 :3 )所以我有他的错误:
The controller for URI "/article/1132/This%20is%20my%20first%20post%20in%20Pimcore" is not callable:
Expected method "blogarticleAction" on class "AppBundle\Controller\DefaultController".
我正在尝试根据其 ID 获取(博客文章的)对象,然后将该博客文章显示给用户。
我用 blogarticleAction
方法制作了那个控制器:
<?php
namespace AppBundle\Controller;
use Pimcore\Controller\FrontendController;
use Symfony\Component\HttpFoundation\Request;
use Pimcore\Model\DataObject;
class MyContentController extends FrontendController
{
public function defaultAction(Request $request)
{
//$this->view->blogpostList = new DataObject\Blogpost\Listing();
$list = new DataObject\Blogpost\Listing();
$paginator = new \Zend\Paginator\Paginator($list);
$paginator->setCurrentPageNumber( $request->get('page') );
$paginator->setItemCountPerPage(3);
$this->view->paginator = $paginator;
}
public function blogarticleAction(Request $request)
{
$this->view->blogarticle = DataObject\Blogpost::getById($this->getParameter('id'));
}
}
此外,这是我在 Pimcore 管理面板中的 static route
:
https://prnt.sc/w96ya3
链接似乎形成正确: https://prnt.sc/w96zvn
但是当我点击那个 link 转到一个博客帖子时,我得到了这个: https://prnt.sc/w970kg
错误指出该方法应该存在于 DefaultController 而不是 MyContentController 上。在您的静态路由截图中,您只使用了 DefaultController。