2012-06-17 71 views
1

我構建了一個簡單的評論extbase擴展,我想包括typoscript在項目擴展(也是extbase)。項目擴展中的流體代碼如下所示:TYPO3 StoragePid和Current

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

「Reports」是一組id。

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

的StoragePid應與該報告ID,所以我嘗試:Typo腳本看起來像這樣的lib.comments persistence.storagePid.cObject = TEXT persistence.storagePid.cObject.current = 1

但它不工作。有沒有人有個想法,這是將「當前」設置爲storagePid的正確方法?

回答

2

您可以禁用存儲PID放置方法在其開始在你的倉庫檢查:

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

通過它傳遞給倉庫取景共同PARAM和包括共同約束,則使用當前頁的id

當然當前頁面的UID你取像往常一樣:

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

所有可用字段嗨馬庫斯,如果我理解正確的話,你我不知道。我包括評論3-5次(在for-array中)。我不想將storagePid設置爲當前頁面,更遠的是我在「報告」中設置的ID。 lib.comments = TEXT lib.comments.current = 1 正常工作。但爲什麼不作爲一個cObject? – Frusciante

+0

那麼,你的配置中的'current'是什麼意思?對不起,我不明白:/ – biesior

+0

我的意思是當前的stdWrap屬性。當我在流體中設置以下代碼時:{report - > f:cObject(typoscriptObjectPath:'lib.comments')} - 是「report」當前。因此,如果我將其設置爲typoscript: lib.comments = TEXT lib.comments.current = 1 Fluid將渲染字段報告。 – Frusciante

0

persistence.storagePid.field = uid

而它與一起通過了「報告」的所有字段「的報告 - > F:CObject的」將提供給stdWrap屬性「.field」。

你也可以做

persistence.storagePid.debugData = 1 

列出的$ cObj->數據