Diskuse

Téma: Obrázek při sdílení na FB

Ahoj,

rád bych měl pod kontrolou obrázky, které se zobrazují, pokud někdo sdílí článek. Vyčetl jsem, že je možné obrázek FB říci v hlavičce meta tagem, existuje nějaký způsob, jak do funkce, která tvoří hlavičku dostat vždy cestu k hlavnímu obrázku, který součástí článku je?

P.
postZaslat odpověď
Kdysi jsme tu Landsman, jval a já dali dohromady extend pro podporu sdileni na Facebooku, cely extend uz nemam, ale snad ti pomuze toto

do složky pictures/ je potreba umistit nejaky default obrazek s nazvem fb-default.png
* byl psan pro SL 7.5.2 netusim ale zda je funkcni i v aktualni verzi(7.5.3)
<?php

/* ---- kontrola jadra ---- */
if (!defined('_core'))
die;

/* ---- funkce pluginu ---- */

function _facebookdata($args) {
global $id, $type;
//dotazy
if ($type == 1) {
$q_art = DB::row(DB::query("SELECT a.picture_uid,a.perex,u.publicname AS publicname, u.username AS username
FROM `" . _mysql_prefix . "-articles` a
LEFT JOIN `" . _mysql_prefix . "-users` u ON a.author=u.id
WHERE a.public='1' AND a.visible='1' AND a.id='{$id}'"));

$picture = (isset($q_art['picture_uid']) ? "<meta property='og:image' content='" . _pictureStorageGet(_url . '/pictures/articles/', null, $q_art['picture_uid'], 'jpg') . "' />" : "");
$description = strip_tags($q_art['perex']);
$showname=(!strLen($q_art['publicname']) ? $q_art['username']:$q_art['publicname']);
} else {
$q_art = DB::row(DB::query("SELECT * FROM `" . _mysql_prefix . "-root` WHERE public='1' AND visible='1' AND id='{$id}'"));
$picture = "<meta property='og:image' content='"._url."/pictures/fb-default.png' />";
$description = ((!$q_art['description'] == "" && !_templatePageIsIndex()) ? $q_art['description'] : _description);
$showname=_author;
}

$args['output'] .="
<meta property='fb:admins' content='' />
<meta property='og:title' content='" . _indexOutput_title . "' />
<meta property='og:url' content='".(_templatePageIsIndex()?_url:_url."/"._indexOutput_url)."' />
" . $picture . "
<meta property='og:site_name' content='"._title."' />
<meta property='og:type' content='".($type==1?"article":"website")."' />
<meta property='og:description' content='{$description}' />
";
}

/* ---- registrace pluginu ---- */

_extend('reg', 'tpl.head', '_facebookdata');
Funguje i na SL 7.5.4