2012-06-17 4 views
1

Я создаю простое расширение extbase комментария, которое я хочу включить с typoscript в расширение проекта (также extbase). Код жидкости в расширении проекта выглядит следующим образом:TYPO3 StoragePid и Current

<f:for each="{project.reports}" as="report"> 
    ...Content... 
    {report -> f:cObject(typoscriptObjectPath: 'lib.comments')} 
</f:for> 

«Отчеты» представляет собой массив идентификаторов. В lib.comments TypoScript выглядит следующим образом:

lib.comments = USER 
lib.comments { 
    userFunc = tx_extbase_core_bootstrap->run 
    extensionName = Comments 
    pluginName = Comments 
    persistence.storagePid = ? 
} 

StoragePid должен совпадать с идентификатором отчета, поэтому я попытался: persistence.storagePid.cObject = TEXT persistence.storagePid.cObject.current = 1

Но он не работает. У кого-нибудь есть идея, которая является правильным способом установить «текущий» на storagePid?

ответ

2

Вы можете отключить хранение PID проверки в вашем хранилище, помещая метод в его начале:

public function initializeObject() { 
    $this->defaultQuerySettings->setRespectStoragePage(FALSE); 
} 

Затем используйте id текущей страницы, передав его в репозиториях искателем как общие пары и в том числе в качестве общего ограничения.

из UID Конечно текущей страницы вы выбираете как обычно:

$currentUid = $GLOBALS['TSFE']->id; 
+0

Привет Маркус, я не знаю, если я правильно вас понял. Я включаю комментарии 3-5 раз (для массива). Я не хочу устанавливать storagePid на текущую страницу, далее в id, который я установил в «отчете». lib.comments = TEXT lib.comments.current = 1 отлично работает. Но почему не как cObject? – Frusciante

+0

Итак, что означает 'current' в вашей конфигурации? Извините, я не получаю:/ – biesior

+0

Я имею в виду текущий ресурс stdWrap. Когда я устанавливаю следующий код в жидкости: {report -> f: cObject (typoscriptObjectPath: 'lib.comments')} - это текущий отчет. Поэтому, если я установил это в typoscript: lib.comments = TEXTlib.comments.current = 1 Fluid отобразит отчет о поле. – Frusciante

0

persistence.storagePid.field = uid

Всех поля «отчет», который получает передается вместе с «отчетом -> е: объект контент» будет доступен Свойство stdWrap ".field".

Вы также могли бы сделать

persistence.storagePid.debugData = 1 

список всех доступных полей $ cObj-> Данные