簡體   English   中英

如何將數據庫表數據從擴展加載到Typo3 6.2中的后端記錄中

[英]How to load DB-Table-Data from an Extension into the Backend-Records in Typo3 6.2

我用實體appointments創建了一個擴展,並希望它在前端和后端顯示所有它們。 數據庫中已經有一些記錄-但是如何顯示它們?

到目前為止,這是我所做的事情:我已經從擴展程序中獲取所有約會的位置選擇了一個文件夾: 在此處輸入圖片說明 通常,我的約會是在前端創建的,但我也可以在后端手動添加它們:

在此處輸入圖片說明

在后端成功添加: 在此處輸入圖片說明 現在,它在前端顯示它: 在此處輸入圖片說明

但是問題是:數據庫有多個條目,而其他條目沒有被隱藏或刪除! 現在只顯示我創建的一個...我如何使Typo3自動將數據庫中的所有內容加載到我的約會數據文件夾中,或者以其他方式達到我的目標? 在此處輸入圖片說明

屏幕快照上的記錄位於三個不同的頁面(31,10,11)。 您僅在“記錄存儲頁面”-字段中選擇了一個。 僅當您將存儲庫設置為已刪除,隱藏或擴展(開始;停止)條目時,才會顯示該條目。

擴展構建器的默認行為不使用記錄存儲頁面字段。 要使用一個特定頁面,請設置存儲pid的常量:

plugin.tx_myext.persistence.storagePid = 10

與擴展名中的所有條目相比,存儲在帶有uid 31的頁面中並從該頁面顯示。

查看phpMyAdmin屏幕快照,基本問題似乎是現有記錄位於不同的頁面上。 默認情況下,僅顯示所選頁面/文件夾中的記錄(示例中的UID 10)。 其他記錄在第31和11頁上。

如果您將Extbase用於前端插件,則可以調整查詢設置以忽略存儲頁面(pid)並顯示Repository類中的所有記錄:

namespace MyVendor\MyExtKey\Domain\Repository;
class ExampleRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {
    // Repository wide settings
    public function initializeObject() {
        $querySettings = $this->objectManager->get(\TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings::class);
        $querySettings->setRespectStoragePage(FALSE);
        $this->setDefaultQuerySettings($querySettings);
    }

    // Example for adjusting a single query
    public function findEverything() {
        $query = $this->createQuery();
        $query->getQuerySettings()->setRespectStoragePage(FALSE);
        return $query->execute();
    }
}

如果在前端創建記錄,則需要注意刷新列表視圖的頁面緩存(或在第一次嘗試時使其不緩存),以便顯示新條目。 否則,將顯示已緩存的頁面,該頁面將在幾個小時內不包含最新條目(取決於您的緩存設置)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM