0

默认情况下,搜索表单包含以下输入:

在此处输入图像描述

我想要一个带有月份选项的选择框,而不是两个输入“Startdatum”和“Enddatum”。

在typo3conf\ext\cal\Resources\Private\Templates\v2\search_event.tmpl

搜索只有 post 参数 start_day 和 end_date。

如果我只能选择和发布月份值,如何实现 am month selextbox?

我必须在这里进行更改吗?Typo3conf\ext\cal\Classes\View\SearchViews.php

我可以通过自己的 cal 扩展扩展来实现这一点吗?

4

1 回答 1

0

假设您使用插件类型的内容元素并将视图设置为“列表”并添加您自己的月份表单选择,它会生成带有参数的请求

?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'];
    }
} 

对于事件所有者的工作过滤器,我没有例子。

于 2017-07-12T23:31:57.597 回答