Перейти к содержимому


Фотография
- - - - -

Пагинация и rel="canonical" (2)


Лучший Ответ Cheren-dow , 24 January 2014 - 09:03

Попробуйте так

$baseUrl = substr(JUri::base(),0,-1);
$this->app->system->document->addHeadLink($baseUrl . $categoryUrl, 'canonical');

1 слеш должен убраться 

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 4

#1 Евген Аватарович

Евген Аватарович

Отправлено 24 January 2014 - 06:58

Здравствуйте.

 

Вот в этой теме http://forum.jbzoo.c...onical/?p=34978 обсуждался вопрос про добавление тега rel="canonical" к категории.

 

Я сделал так, как советовал Денис (добавил код в файл \components\com_zoo\controllers\default.php).

Все получилось - каноническая ссылка появилась, вот только возникла проблема...

Ссылка получилась без указания домена.

 

Пример:

 

Должно быть так -

<base href="http://имя_домена.ru/detskaya-komnata/felicita-kids-mebel/krovati-dvukhyarusnye-felicita-kids" />
<link href="http://имя_домена.ru/detskaya-komnata/felicita-kids-mebel/krovati-dvukhyarusnye-felicita-kids" rel="canonical" />

 

А получилось вот так -

<base href="http://happyhome-mebel.ru/detskaya-komnata/felicita-kids-mebel/krovati-dvukhyarusnye-felicita-kids" />
<link href="/detskaya-komnata/felicita-kids-mebel/krovati-dvukhyarusnye-felicita-kids" rel="canonical" />

 

Подскажите пожалуйста, КАК ИСПРАВИТЬ ситуацию?

Спасибо.


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 24 January 2014 - 07:11

Попробуйте в 

$this->app->system->document->addHeadLink($categoryUrl, 'canonical');

Дописать адрес сайта 

$this->app->system->document->addHeadLink(JUri::base() . $categoryUrl, 'canonical');

Сам не проверял.


Сообщение отредактировал Cheren-dow: 24 January 2014 - 07:11

  • 1
Изображение
 

#3 Евген Аватарович

Евген Аватарович

Отправлено 24 January 2014 - 07:23

Спасибо, почти получилось, только в ссылке после имени домена стоит два слэша:

 

<link href="http://имя_домена.ru//detskaya-komnata/felicita-kids-mebel/krovati-dvukhyarusnye-felicita-kids" rel="canonical" />

 

Подскажите пожалуйста, как это исправить?


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 24 January 2014 - 09:03   Лучший Ответ

Попробуйте так

$baseUrl = substr(JUri::base(),0,-1);
$this->app->system->document->addHeadLink($baseUrl . $categoryUrl, 'canonical');

1 слеш должен убраться 


  • 1
Изображение
 

#5 Евген Аватарович

Евген Аватарович

Отправлено 24 January 2014 - 09:25

Да, все отлично:

Получился вот такой код

    // add canonical
            if ($this->app->system->document instanceof JDocumentHTML) {
                $categoryUrl = JRoute::_($this->app->route->category($this->category), true, -1);
                $baseUrl = substr(JUri::base(),0,-1);
                $this->app->system->document->addHeadLink($baseUrl . $categoryUrl, 'canonical');
     
                $headData = $this->app->system->document->getHeadData();
                foreach ($headData['links'] as $key => $value) {
                    if ($value['relation'] == 'canonical' && $key != $categoryUrl) {
                        unset($headData['links'][$key]);
                    }
                }
                $this->app->system->document->setHeadData($headData);
            }

Спасибо Вам огромное за помощь!!! :)


  • 0




Click to return to top of page in style!