/** * Controller for a single record page, like '/page/about/' or '/entry/lorum'. * * @param Request $request The request * @param string $contenttypeslug The content type slug * @param string $slug The content slug * * @return Response */ public function record(Request $request, $contenttypeslug, $slug = '') { $contenttype = $this->getContentType($contenttypeslug); $localeSlug = $this->app['translate.slug']; $slug = $this->app['slugify']->slugify($slug); if (is_numeric($slug) || !$this->app['translate.config']->isTranslateSlugs()) { return parent::record($request, $contenttypeslug, $slug); } $repo = $this->app['storage']->getRepository($contenttype['slug']); $qb = $repo->createQueryBuilder(); $qb->select('slug')->where($localeSlug . 'slug = ?')->setParameter(0, $slug)->setMaxResults(1); $result = $qb->execute()->fetch(); return parent::record($request, $contenttypeslug, $result['slug']); }