Товарищи, прошу помощи, ибо совсем ничего не могу поделать.
Итак:
Имеем сайт (кулинария) с массой категорий и подкатегорий. Все это работает на Zoo.
Один и тот же рецепт размещается сразу в нескольких подкатегориях. Одна из которых является главной.
Естественно, один и тот же материал доступен по нескольким url (по числу подкатегорий +1 url если с титульной страницы категории).
Везде стоит
rel="canonical". С этим проблем нет.
Так же на сайте установлена система комментариев - cackle.
Это сторонний скрипт который грузит форму и комментарии с их серверов (от тарифа зависит).
Так вот проблема: Так как url у одного и того же рецепта разные, то к одному и тому же материалу могут быть разные комментарии. Если десять категорий, то 10 разных диалогов.
cackle дает возможность устанавливать одинаковые комментарии на разные страницы таким кодом (JS):
Теперь на всех страницах, где в коде cackle есть одинаковый mcChannel, будут одинаковые комментарии.
Если я в
mcChannel установлю rel="canonical", то бинго!, у всех одинаковых рецептов будет одна единая ветвь комментариев. Вне зависимости от категорий и прочего.
Так вот, я блин, не могу найти, код отвечающий за генерацию rel="canonical". В хедере каждого из рецепта - он есть. Везде одинаковый.
В
public_html/super-site.com/components/com_zoo/controllers/default.php нашел вот такой код:
// add canonical
if ($this->app->system->document instanceof JDocumentHTML) {
$this->app->system->document->addHeadLink(JRoute::_($this->app->route->item($this->item, false), true, -1), 'canonical');
}
Но как его заставит работать в стороннем app к zoo (я использую JBZoo) - я ума не приложу. Все испробовал - не работает.
Ребят, подскажите, пжлста.
Простите за неприличное количество букв, просто хотел, что бы меня правильно поняли =)