假设您使用插件类型的内容元素并将视图设置为“列表”并添加您自己的月份表单选择,它会生成带有参数的请求
?tx_cal_controller[month]=08
然后您可以使用拼写条件操作列表结果,以仅显示当年请求月份的事件:
[globalVar = GP:tx_cal_controller|month >0]
plugin.tx_cal_controller.view.list.useCustomStarttime = 1
plugin.tx_cal_controller.view.list.useCustomEndtime = 1
plugin.tx_cal_controller.view.list.customStarttimeRelativeToGetdate = 1
plugin.tx_cal_controller.view.list.customEndtimeRelativeToGetdate = 1
plugin.tx_cal_controller.view.list.starttime = monthstart
plugin.tx_cal_controller.view.list.endtime = monthend
[global]
要将您自己的类别过滤器用于列表视图,您需要调整/扩展类 \TYPO3\CMS\Cal\Controller\Controller::initConfigs() 以调用类似的参数
?tx_cal_controller[category]=2
进入全局配置,如
/**
* Init configurations
* Change category mode in listview, if category given in GET params
* Used for category filter by selection
*/
public function initConfigs() {
parent::initConfigs();
if ($this->piVars['category'] && $this->conf ['view'] === 'list') {
$this->conf ['view.'] ['categoryMode'] = 4;
$this->conf ['view.'] ['category'] = $this->piVars['category'];
}
}
对于事件所有者的工作过滤器,我没有例子。