Порывшись с инете наткнулся на возможность добавить свои твиты с картинкой, чтоб получить больше ретвитов и переходов на сайт. Ну и конечно решил оставить себе шпаргалку тут в блоге.
Попутно добавим еще и для майл.ру и одноклассников микроразметку mrc__share, в статьи и блоги, чтоб лучше понимали и брали нужную картинку с описанием, если таковое прописано в дискрипшене. Если описание не прописано meta_desc, то выводится пустое поле, при нажатии на кнопку поделится в майл.ру.
Для начала прописываем в шапку сайта следующее:
Далее прописываем для компонентов микроразметку идем во frontend.php статей и вставляем следующий код после
// Картинка статьи
$article['image'] = (file_exists(PATH.'/images/photos/medium/article'.$article['id'].'.jpg')? 'article'.$article['id'].'.jpg': '');
Для статей микроразметка
Теперь идем во frontend.php блогов и вставляем следующий код после
$is_author = ($inUser->id && $inUser->id == $post['user_id']);
Для постов блога микроразметка
Идем в Twitter и логинимся под своим аккаунтом в приложении.
В открывшемся окне с лева вносим урл статьи и нажимаем проверить. С права должно выйти поле с заголовком, описанием и картинкой статьи. Далее под введенным урлом нажимаем снова кнопку и в открывшемся окнце добавляем свои данные. Сохранили. Идем на почту своего акка твиттера и подтверждаем соданное приложение.
Попутно добавим еще и для майл.ру и одноклассников микроразметку mrc__share, в статьи и блоги, чтоб лучше понимали и брали нужную картинку с описанием, если таковое прописано в дискрипшене. Если описание не прописано meta_desc, то выводится пустое поле, при нажатии на кнопку поделится в майл.ру.
Для начала прописываем в шапку сайта следующее:
<meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@логин аккаунта твиттера" /> <meta name="twitter:creator" content="@логин аккаунта твиттера" />
Далее прописываем для компонентов микроразметку идем во frontend.php статей и вставляем следующий код после
// Картинка статьи
$article['image'] = (file_exists(PATH.'/images/photos/medium/article'.$article['id'].'.jpg')? 'article'.$article['id'].'.jpg': '');
Для статей микроразметка
$inPage->addHead('<meta name="twitter:image:src" content="'.HOST.'/images/photos/medium/'.$article['image'].'"/>'); $inPage->addHead('<meta name="mrc__share_title" content="'.htmlspecialchars($article['title']).'"/>'); $inPage->addHead('<meta name="mrc__share_description" content="'.htmlspecialchars(strip_tags($article['description'])).'"/>'); $inPage->addHead('<link rel="image_src" href='.HOST.'/images/photos/medium/'.$article['image'].'"/>');
$is_author = ($inUser->id && $inUser->id == $post['user_id']);
Для постов блога микроразметка
$inPage->addHead('<meta name="twitter:image:src" content="'.HOST.''.$imagefirst[1][0].'"/>'); $inPage->addHead('<link rel="image_src" href='.HOST.''.$imagefirst[1][0].'"/>'); $inPage->addHead('<meta name="mrc__share_description" content="'.htmlspecialchars($post['meta_desc']).'"/>');
Идем в Twitter и логинимся под своим аккаунтом в приложении.
В открывшемся окне с лева вносим урл статьи и нажимаем проверить. С права должно выйти поле с заголовком, описанием и картинкой статьи. Далее под введенным урлом нажимаем снова кнопку и в открывшемся окнце добавляем свои данные. Сохранили. Идем на почту своего акка твиттера и подтверждаем соданное приложение.
Реклама #
Avert 9 лет назад #
Helg 9 лет назад #
kirkr 9 лет назад #
Helg 9 лет назад #
m0skit 9 лет назад #
Helg 9 лет назад #
m0skit 9 лет назад #
sotastroy 9 лет назад #
Но, может пора сделать универсальное решение и внедрить в коробочную версию? Если каждый раз править каждый сайт под твиттер, под FB и тд, то можно запутаться. Выбрать OG или Schema.org, и внедрить в нужные компоненты - всем будет здорово. Плюсаните, кто согласен, мож админы еще разок подумают об этих моментах.
Олег Васильевич я 9 лет назад #
Олег Васильевич я 9 лет назад #
sotastroy 9 лет назад #
Helg 9 лет назад #
qwest 9 лет назад #
Старый балбес 9 лет назад #
Обьявите методику реализации , как я должен привязать поле (предположим привязать по факту text-photo) в разных видах контента , к различным ( по выбору ) схемам разметки.
В первой ветке такую методику я реализовал. На универсальном типе контента.
Поэтому знаю как это задание технически реализуется.
Во второй ветке, у меня нет ни цели ни желания отвлекаться на разметку.
Попробую поработаю в этом направлении.Вместо перекуров.
PS//Прошу к диалогу
sotastroy 9 лет назад #
У различных типов контента почти всегда есть основные элементы, которые можно "разметить". Название(заголовок), автор, дата/время, основная картинка и тд. Даже эти крохи пригодятся.
Можно взглянуть на вашу реализацию для первой ветки.
Helg 9 лет назад #
Доротея 9 лет назад #
al955 8 лет назад #
пишет
ERROR: Invalid value (message: Field title failed to validate because: text expects tag property, but not found in Map().)
ERROR: Invalid value (message: Field description failed to validate because: text expects tag property, but not found in Map().)
vikont 8 лет назад #
Helg 8 лет назад #
Достаточно просто все правильно прописать в код сайта и подождать некоторое время пока твиттер подстроиться и начнет выводить картинку.
Для двойки я сделал следующее:
1 установил OGP
2 main.tpl.php добавил это
<head>
<title><?php $this->title(); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="<?php echo $canonical; ?>"/>
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@логин тви" />
<meta name="twitter:creator" content="@логин тви" />
<meta name="twitter:image:width" content="435" />
<meta name="twitter:image:height" content="375" />
<meta name="twitter:domain" content="тут сайт.ru"/>
После добавления кода идем в валидатор тви и проверяем вставив урл на любую страницу сайта где есть наш добавленный код