ОШИБКА: поле http://ogp.me/ns#url отсутствует или пусто

Lelik999

Постоялец
Регистрация
23 Апр 2016
Сообщения
56
Реакции
12
Как исправить? Ругается валидатор разметки яндекса. Шаблон колоринг.
 
Нужно добавить мета-тег, смотрите шаблон Head шаблона, или ищите по поиску файлу, где образуются у Вас мета-теги
Код:
<meta property="og:url" content="{url}" />
 
Нужно добавить мета-тег, смотрите шаблон Head шаблона, или ищите по поиску файлу, где образуются у Вас мета-теги
Код:
<meta property="og:url" content="{url}" />


по адресу \catalog\view\theme\coloring\template\common

в файле header.tpl

этот кусок кода есть, толку нет:

<?php if (isset($og_url)) { ?>
<meta property="og:url" content="<?php echo $og_url; ?>" />
<?php } ?>
 
по адресу \catalog\view\theme\coloring\template\common

в файле header.tpl

этот кусок кода есть, толку нет:

<?php if (isset($og_url)) { ?>
<meta property="og:url" content="<?php echo $og_url; ?>" />
<?php } ?>
Значит не работает переменная $og_url;
Ищите где она образуется и почему не работает, и стоит посмотреть (в исходном коде страниц) не работает везде (главная, каталог, товары) или только где-то конкретно, если конкретно то сделать тут же в коде в ручную условия, а если везде то копать в сторону образования функции
 
поиск $og_url и og_url по каталогу выдаёт только:

Line 22: <?php if (isset($og_url)) { ?>
Line 23: <meta property="og:url" content="<?php echo $og_url; ?>" />
Line 117: <?php if (isset($og_url) && ($home == $og_url)) { ?>
Line 117: <?php if (isset($og_url) && ($home == $og_url)) { ?>

может можно заменить эту переменную на другую, отвечающую за адрес?

в гугле толкового ответа на этот вопрос по og:url я тоже не нашёл
 
Последнее редактирование модератором:
Данная переменная есть только в ocStore, а у Вас вероятно чистый опенкарт и поэтому она не работает, как вариант вырезать ее оттуда.
Как вариант в контроллер Header.php добавить:
Код:
$this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));
 
именно так, с соседнего форума:

"Потому что в чистом opencart нет переменной отвечающей за это поле. В ocstore она есть."

сейчас попробую вставить
 
обычная вставка в \catalog\controller\common\header.php не исправляет ситуацию.

и да, я не нашёл , где остальные переменные, такие как og_image, задаются:
есть кусок кода <meta property="og:image" content="<?php echo $og_image; ?>" />
но поиск по og_image и $og_image выдаёт только эту же самую строку.
при этом валидатор на $og_image не ругается, код выводит ссылку на лого
 
Тогда добавить вместо переменой
Код:
<?php echo $og_url; ?>
Код:
<?php echo http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI] ?>
Или
Код:
<?php echo $_SERVER[REQUEST_URI] ?>
В зависимости от того что у Вас сервер отдает
 
Тогда добавить вместо переменой
Код:
<?php echo $og_url; ?>
Код:
<?php echo http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI] ?>
Или
Код:
<?php echo $_SERVER[REQUEST_URI] ?>
В зависимости от того что у Вас сервер отдает


Спасибо, вашим способом сделал так, чтобы валидатор не ругался. ссылку выдаёт верную, посмотрим что дальше будет :)
 
Назад
Сверху