-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Hi, I installed your bundle. Generation of Sonata SEO tags seems not working due to this code.
public function onControllerFound(FilterControllerEvent $event)
{
if (!is_array($controllerData = $event->getController())) {
return;
}
$controllerData = $event->getController();
if ($controllerData[0] === null) {
return;
}
$method = new \ReflectionMethod($controllerData[0], $controllerData[1]);
//First we check for an automatic optim
$annotations = $this->annotationReader->getMethodAnnotations($method);
if (!empty($annotations)) {
foreach ($annotations as $annotation) {
if ($annotation instanceof SEOAnnotation\MetaTag) {
$request = $controllerData[0]->getRequest();
$controller = $request->get('_controller');
$object = $request->get($annotation->value);
if (empty($object)) {
continue;
}
$class = new \ReflectionClass($object);That's Alpixel\Bundle\SEOBundle\Service\MetaTagService on 30-58. The code i'm intetersted is 52-56 line
$object = $request->get($annotation->value);
if (empty($object)) {
continue;
}
$class = new \ReflectionClass($object);This code should get an instance of class to pass it to the repository finder. First I don't get what is
$annotation->valueIn annotation this parameter does not have a name and your README does not say what it is
So this parameter should be in request and this is the weirdest thing. In my articleAction in which use your bundle, request only contains slug as input parameter from the router. But your code says that Request should containt entity instance to get it's class and pass it to the repository finder. So I don't get why you use
$annotation->valueinstead of just
$annotaion->providerClassto find right SEO tags pattern. And further and I don't get what is the purpose of $annotation->value parameter.