使用新的日期字段扩展 NEWS 后,如何从该新闻字段中列出
After extending NEWS with a new date field, how can I list from this news field
我用新的日期字段 (eventStartDate) 扩展了 NEWS,我想列出该日期大于 X 的所有新闻。
此刻,WHERE 子句检查 tx_news_domain_model_news.datetime 而不是我的新字段 tx_news_domain_model_news.eventStartDate。
这是我得到的
whereClause => '(tx_news_domain_model_news.datetime >= '1551200578'
AND tx_news_domain_model_news.pid IN ('123456'))
AND (tx_news_domain_model_news.type='Tx_SLNewsExtended_News')'
这就是我想要的
whereClause => '(tx_news_domain_model_news.eventStartDate>= '1551200578'
AND tx_news_domain_model_news.pid IN ('123456'))
AND (tx_news_domain_model_news.type='Tx_SLNewsExtended_News')'
我设置
settings.datefield = eventStartDate
没有效果。
我正在使用 NEWS 6.3 和 TYPO3 7.6
我猜它失败是因为 TCA 检查,参见 https://github.com/georgringer/news/blob/master/Classes/Domain/Model/Dto/NewsDemand.php#L556-L558
所以字段必须写成event_start_date
。
Returns NEWS 6.3 中的空字符串
public function getDateField()
{
if (empty($this->dateField) || in_array($this->dateField, ['datetime', 'archive'])) {
return $this->dateField;
} else {
return '';
}
}
适用于 NEWS 7.0
public function getDateField()
{
if (in_array($this->dateField, ['datetime', 'archive'])
|| isset($GLOBALS['TCA']['tx_news_domain_model_news']['columns'][$this->dateField])) {
return $this->dateField;
}
return '';
}
我用新的日期字段 (eventStartDate) 扩展了 NEWS,我想列出该日期大于 X 的所有新闻。
此刻,WHERE 子句检查 tx_news_domain_model_news.datetime 而不是我的新字段 tx_news_domain_model_news.eventStartDate。
这是我得到的
whereClause => '(tx_news_domain_model_news.datetime >= '1551200578'
AND tx_news_domain_model_news.pid IN ('123456'))
AND (tx_news_domain_model_news.type='Tx_SLNewsExtended_News')'
这就是我想要的
whereClause => '(tx_news_domain_model_news.eventStartDate>= '1551200578'
AND tx_news_domain_model_news.pid IN ('123456'))
AND (tx_news_domain_model_news.type='Tx_SLNewsExtended_News')'
我设置
settings.datefield = eventStartDate
没有效果。
我正在使用 NEWS 6.3 和 TYPO3 7.6
我猜它失败是因为 TCA 检查,参见 https://github.com/georgringer/news/blob/master/Classes/Domain/Model/Dto/NewsDemand.php#L556-L558
所以字段必须写成event_start_date
。
Returns NEWS 6.3 中的空字符串
public function getDateField()
{
if (empty($this->dateField) || in_array($this->dateField, ['datetime', 'archive'])) {
return $this->dateField;
} else {
return '';
}
}
适用于 NEWS 7.0
public function getDateField()
{
if (in_array($this->dateField, ['datetime', 'archive'])
|| isset($GLOBALS['TCA']['tx_news_domain_model_news']['columns'][$this->dateField])) {
return $this->dateField;
}
return '';
}