[英]How to load DB-Table-Data from an Extension into the Backend-Records in Typo3 6.2
屏幕快照上的记录位于三个不同的页面(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.