TYPO3 как получить пользовательское поле из sys_file из репозитория - PullRequest
0 голосов
/ 16 апреля 2019

После разрешения этого я столкнулся с другой проблемой. Я попытался получить поле, содержащее текст, но не могу найти способ получить к нему доступ. Так что в моем хранилище у меня есть функция, которая называется getSearchResults($searchParameter), и часть, которая содержит текстовый поиск выглядит следующим образом:

 $subjectParameter = $searchParameter[0]['subject'];
 $subjectConstrains = array();

 $subjectConstrains[] =
        $query->logicalOr(
            [
                $query->like('title', '%' . $subjectParameter . '%'),
                $query->like('subtitle', '%' . $subjectParameter . '%'),
                $query->like('downloads.uidLocal.textPdf','%' . $subjectParameter . '%')
            ]
        );
$constrains[] = $query->logicalOr($subjectConstrains);

Итак, поле загрузок предназначено для таблицы sys_file_reference, а затем я хочу получить text_pdf из таблицы sys_file.

С этим кодом я получаю следующее сообщение об ошибке:

#1353170925: The relation information for property "uidLocal" of class "TYPO3\CMS\Extbase\Domain\Model\FileReference" is missing.

Я пошел на typo3/sysext/extbase/Classes/Domain/Model/FileReference.php и увидел это:

public function getOriginalResource()
{
    if ($this->originalResource === null) {
        $this->originalResource = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($this->getUid());
    }

    return $this->originalResource;
}

Насколько я понимаю, это относится непосредственно к полю uid файла sys_file, то есть я не могу получить поле text_pdf, поскольку оно уже выбрало поле из этой таблицы.

Я говорю это, потому что, если я удаляю textPdf из аналогичного поля, я не получаю никаких ошибок, то есть он находит файл, но не поле, которое я хотел бы получить.

Дополнительно: Я полагаю, мне придется установить getters и setters для text_pdf, но я не знаю, где это сделать. Мое первое предположение было бы на TCA / Overrides, но я не совсем уверен.

Заранее спасибо,

...