我有一个问题,找不到任何文件或解决方案。
我创建了一个带有列表和详细视图的TYPO3扩展程序,一切正常。现在我想在列表视图上方添加一些输入字段,以便让站点访问者过滤列表视图。
要怎么做?我确定需要在列表视图上方添加一个Fluid表单,并在控制器中处理?
目前我的控制器和Repo如下:
控制器:
/**
* EventController
*/
class EventController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{
/**
* eventRepository
*
* @var \Alroma\DsEventcalendar\Domain\Repository\EventRepository
* @inject
*/
protected $eventRepository = null;
/**
* action list
*
* @return void
*/
public function listAction()
{
$events = $this->eventRepository->findAll();
$this->view->assign('events', $events);
}
/**
* action show
*
* @param \Alroma\DsEventcalendar\Domain\Model\Event $event
* @return void
*/
public function showAction(\Alroma\DsEventcalendar\Domain\Model\Event $event)
{
$this->view->assign('event', $event);
}
/**
* action frontpage
*
* @return void
*/
public function frontpageAction()
{
$events = $this->eventRepository->findAll();
$this->view->assign('events', $events);
}
}
代码库:
class EventRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
{
// Order by BE sorting
protected $defaultOrderings = [
'highlight' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING,
'start' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
];
}
更具体地说,我希望用户拥有一个字段,他可以输入一些关键词,我想在扩展的“文本”数据库列中搜索它。如果关键字在任何文本中被发现,只显示符合条件的文章。日期参数也是如此。