Typo3 缓存操作中控制器内的PageTitleProviders出现问题
在我的扩展中,我使用一个自定义的PageTitleProvider作为我的详细视图。它仅在页面未缓存时工作。因此,我清除缓存,然后当我重新加载页面时,标题将是记录的名称,我将获得页面标题。由于加载时间太长,我无法将操作设置为“未缓存” 我的PageTitleProvider如下所示:Typo3 缓存操作中控制器内的PageTitleProviders出现问题,typo3,typo3-9.x,typo3-extensions,Typo3,Typo3 9.x,Typo3 Extensions,在我的扩展中,我使用一个自定义的PageTitleProvider作为我的详细视图。它仅在页面未缓存时工作。因此,我清除缓存,然后当我重新加载页面时,标题将是记录的名称,我将获得页面标题。由于加载时间太长,我无法将操作设置为“未缓存” 我的PageTitleProvider如下所示: use TYPO3\CMS\Core\PageTitle\AbstractPageTitleProvider; class CatalogPageTitleProvider extends AbstractPa
use TYPO3\CMS\Core\PageTitle\AbstractPageTitleProvider;
class CatalogPageTitleProvider extends AbstractPageTitleProvider
{
/**
* @param string $title
*/
public function setTitle(string $title)
{
$this->title = (string)$title.' | '.$GLOBALS['TSFE']->rootLine[0]['title'] ;
}
}
$search = ['&npsp;', '­' ];
$titleProvider = GeneralUtility::makeInstance(CatalogPageTitleProvider::class);
$titleProvider->setTitle( strip_tags(str_replace( $search, '', $service->getName())));
在控制器中,我设置标题如下:
use TYPO3\CMS\Core\PageTitle\AbstractPageTitleProvider;
class CatalogPageTitleProvider extends AbstractPageTitleProvider
{
/**
* @param string $title
*/
public function setTitle(string $title)
{
$this->title = (string)$title.' | '.$GLOBALS['TSFE']->rootLine[0]['title'] ;
}
}
$search = ['&npsp;', '­' ];
$titleProvider = GeneralUtility::makeInstance(CatalogPageTitleProvider::class);
$titleProvider->setTitle( strip_tags(str_replace( $search, '', $service->getName())));
有人知道是否有东西丢失了,或者这是一个已知的bug吗
致意
die Knolle大约一年前有一个错误修复程序,旨在删除元标记和页面标题的单独缓存: 从错误修复描述中: 根据前端呈现的概念,页面标题和元标记不是 用于存储在页面缓存中以允许不可缓存 插件来修改这些 目前,页面标题和元标记都存储在单独的缓存中 条目,这违反了上述概念,而且不必要地过于严格 将这些代码部分耦合到TypoScriptFrontendController和 它的内在逻辑 此修补程序将删除这些缓存 此修复程序是在V9.5.8中引入的 我在项目中将脚本恢复为9.5.7版,页面标题再次正确: 一定有更干净的方法,但我还没有找到