Autor: Sven Culley
am Wed, 04.04.2012 - 13:07
Auf vielen Seiten ist der Facebook Share Button zu finden. Das größte Problem hierbei ist, dass nicht das korrekte Bild (og:image) und der Titel (og:title) angezeigt werden und dieses immer von Hand angepasst werden muss, so dass es den Anforderungen entspricht. In Drupal 7 ist dieses ganz einfach über die template.php des Themes zu lösen:
/**
* Implements hook_preprocess_page().
*/
function THEMENAME_preprocess_page(&$vars) {
global $base_url;
// Facebook share thumbnail
$img = $base_url . base_path() . path_to_theme() . '/images/logo.png';
if (!$vars['is_front']) {
if (isset($vars['node']->field_images['und'][0]['uri'])) { // Place correct field name
$img = file_create_url($vars['node']->field_images['und'][0]['uri']); // Place correct field name
}
}
// Add image
$element = array(
'#tag' => 'meta',
'#attributes' => array(
'property' => 'og:image',
'content' => $img,
),
);
drupal_add_html_head($element, 'facebook_share_image');
// Add title
$element = array(
'#tag' => 'meta',
'#attributes' => array(
'property' => 'og:title',
'content' => $vars['node']->title ? $vars['node']->title : variable_get('site_name', ''),
),
);
drupal_add_html_head($element, 'facebook_share_title');
// Add type
$element = array(
'#tag' => 'meta',
'#attributes' => array(
'property' => 'og:type',
'content' => $vars['node']->type ? $vars['node']->type : 'page',
),
);
drupal_add_html_head($element, 'facebook_share_type');
}
Das Ganze lässt sich dann mit den Developer Tools von Facebook wunderbar testen.
Wer das Ganze nicht von Hand einrichten möchte kann natürlich auch das Metatag Modul inklusive des OG-Erweiterungsmoduls (Open Graph meta tags) verwenden.