我不能让SeoBundle从我的照片中提取标题
我已配置" content_key"在config.yml
中cmf_seo:
content_key: "mykey"
title: "%%content_title%%"
我的实体实现了TitleReadInterface
class Picture implements TitleReadInterface {
(...)
public function getSeoTitle()
{
return $this->title;
}
(...)
}
在控制器中我正在更新" mykey"属性:
public function viewAction(Request $request, $slug) {
(...)
$picture = $repository->findOneBySlug($slug);
$request->attributes->set('mykey', $picture);
(...)
}
最后在视图中有:
{{ sonata_seo_title() }}
但页面标题是" Sonata Project" :( 有什么问题?
答案 0 :(得分:2)
最后我发现,这个捆绑包更适合DynamicRouter,如果你不使用DynamicRouter(就像我的情况一样),你必须以另一种方式提供内容对象。我的解决方案是从控制器手动触发SeoPresentation过程:
public function viewAction(Request $request, $slug) {
(...)
$picture = $repository->findOneBySlug($slug);
$seo = $this->get('cmf_seo.presentation');
$seo->updateSeoPage($picture);
(...)
}