После расширения NEWS с новым полем даты, как я могу перечислить из этого поля новостей - PullRequest
0 голосов
/ 27 февраля 2019

Я расширил NEWS новым полем даты (eventStartDate), и я хотел бы перечислить все новости с этой датой больше 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

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Возвращает пустую строку в 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 '';
}
0 голосов
/ 28 февраля 2019

Полагаю, что из-за проверки TCA произойдет сбой, см. https://github.com/georgringer/news/blob/master/Classes/Domain/Model/Dto/NewsDemand.php#L556-L558

, поэтому в поле должно быть написано event_start_date.

...