Вход • Регистрация

Разметка Open Graph

  • 05 января 2020 г.
  • Доброго всем времени суток! Хочу добавить на сайт(страницы товаров) разметку Open Graph ( https://yandex.ru/support/webmaster/open-graph/). Подскажите, в какой файл нужно изменения внести?
  • 05 января 2020 г.
  • За вывод основной части страницы товара отвечает шаблон custom/my/modules/shop/views/shop.view.id.php
    • 05 января 2020 г. , редакция: 05 января 2020 г.
    • OpenGraph размещается в секции <head> , это meta-теги. Шаблоны модулей тут не помогут. Надо размещать в <head></head>. В зависимости от шаблона нужно смотреть файл либо в теме сайта, в папке /custom/my/themes/blocks/ и смотреть там файл head.php, либо (если такового или похожего нет), нужно переносить в тему файл /themes/functions/show_head.php и вносить правки туда.
      • 07 января 2020 г.
      • Для основных параметров можно все в хеад прописать, а как быть с изображением главной страницы?
        • 07 января 2020 г.
        • Или запросом из БД, или вывести конкретное изображение, для главной.
  • 09 января 2020 г.
  • Может быть совместными усилиями напишем код для файла, предположим, show_opengraph.php ?
    который бы выводил
    <meta property="og:type" content="website" />
    <meta property="og:title" content="..." />
    <meta property="og:description" content="..." />
    <meta property="og:image" content="..." />
    <meta property="og:url" content="..." />
    У меня знаний на такое не хватает(((
    а вещь то полезная...
    • 09 января 2020 г.
    • title - $this->functions('show_title', array())
      desc - $this->functions('show_description', array())
      url - ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
      прикрепленная картинка посложней, нужно написать функцию, которая будет получать картинку текущей страницы, если она вообще есть
      • 10 января 2020 г. , редакция: 10 января 2020 г.
      • Код
        <insert name="show_images" module="site">


        Просто шаблон нужный сделать и всё, если про обычные страницы, не магазин
        • 10 января 2020 г.
        • или через $this->diafan->_site->module определять модуль и тянуть соответствующие функции
        • 10 января 2020 г.
        • Цитата
          если про обычные страницы, не магазин

          Речь про универсальное решение, картинка товара это основное для чего вообще нужна эта разметка)
          • 11 января 2020 г.
          • Да, без картинки смысла в этой разметке нет((
            • 11 января 2020 г.
            • В качестве компромиссного решения можно там разместить логотип. А так по-хорошему нужно дорабатывать интерфейс, чтобы к любой странице можно было догружать изображения, как, например, к пунктам меню.
  • 11 января 2020 г.
  • Я сделал через шаблонный тег shop.view.show_block.php в нем все данные есть.
    Вывожу его в шапке так:
    Код
    $show = $this->diafan->_route->show;
    if(! empty($show) && $this->diafan->_site->module === "shop") {
    echo $this->diafan->_tpl->htmleditor('<insert name="show_block" module="shop" site_id="154" ids="'.$this->diafan->_route->show.'" images="1" only_module="true" template="open_graph">');
    }


    Если надо могу и сам файл шаблона скинуть.
    • 11 января 2020 г.
    • Здравствуйте, Dmitry (weissfl)
      Если не сложно продемонстрируйте пожалуйста содержимое обозначенного шаблона.
    • 11 января 2020 г.
    • Код
      if (!empty($result["rows"]))
      {
      echo '<meta property="og:type" content="website">
      <meta property="og:site_name" content="'.TIT1.'">
      <meta property="og:title" content="'.$this->diafan->_site->titlemodule.'">';

      if(! empty($result["rows"][0]["anons"]))
      {
      echo '<meta property="og:description" content="'.strip_tags($result["rows"][0]["anons"]).'">';
      }
      else {
      echo '<meta property="og:description" content="...">';
      }

      echo '<meta property="og:url" content="'.BASE_PATH.$result["rows"][0]["link"].'">
      <meta property="og:locale" content="ru_RU">
      <meta property="og:image" content="'.BASE_PATH.$result["rows"][0]["img"][0]["src"].'">
      <meta property="og:image:width" content="'.$result["rows"][0]["img"][0]["width"].'">
      <meta property="og:image:height" content="'.$result["rows"][0]["img"][0]["height"].'">';
      }


      Если кто найдет ошибки, напишите пожалуйста.

    • 11 января 2020 г.
    • Я немного по-другому сделал. Через кастомный show_head.php.
      А для вывода изображения - динамический блок (визуальный редактор), в который вставляется ссылка на изображение. Если не вставить ничего, то логотип по умолчанию. И другие моменты, тоже немного не так.
      Главное работает. Вариант автоматической подстановки фото, это да, намного лучше.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум