link in page.tpl

am 10.05.2011 - 13:18 Uhr in
HI,
ich suche gerade nach einer schnellen Möglichkeit ein tag in den head Bereich der page.tpl zu bekommen mit dynamischen Inhalt.
Genauer gesagt: ich habe Videos per taxonomy Content Modul dargestellt, Video + Thumbnail, nun möchte ich die url des thumbnail in einen tag in den Header einbinden um dieses Bild beim sharen zb. Facebook nutzen zu können.
Jemand eine Idee??
- Anmelden oder Registrieren um Kommentare zu schreiben
wie werden deine videos
am 10.05.2011 - 14:26 Uhr
wie werden deine videos ausgegeben? gibt es sie bereits als blöcke? dann füge den block deiner region hinzu, die den header umgibt. sind die videos in nodes gespeichert? mache dafür eine block view.
und dann?
am 10.05.2011 - 17:54 Uhr
Die videos werden doch bereits korrekt ausgegeben und dargestellt.
Ich suche nur die richtige Variable um in der page.tpl im "< head >" bereich die Url des Bildes zum Video als "< link rel="imgage_src" >" auszugeben.
War vielleicht nicht so eindeutig die Fragestellung ;)
im head-bereich gibst du
am 10.05.2011 - 18:07 Uhr
im head-bereich gibst du keine videos aus, sondern definierst etwa die einbindung von css oder javascript dateien. dein video hat da nichts zu suchen. die variable, in der dein video bereit gestellt wird, kannst du über die template.php datei bereit stellen, indem du über entity_load(); oder node_load(); dein video aus der datenbank lädtst. weiterführendes zu entities: http://www.istos.it/blog/drupal-entities/drupal-entities-part-3-programm.... node_load(): http://api.drupal.org/api/drupal/modules--node--node.module/function/nod.... wobei entity_load(); (unter drupal7) zu empfehlen ist, da es weniger last verursacht als node_load();
Jepster, Du hast Nevson
am 10.05.2011 - 18:51 Uhr
Jepster, Du hast Nevson leider noch nicht richtig verstanden. :) Ich habe zwar auch keine Lösung, aber Nevson möchte einen
<link rel="image_src"
im Header erzeugen und die Inhalte z.B. per Facebook "sharen" zu können (siehe z.B. http://www.port11.de/blog/facebook-sharerphp-nutzen).dann führt auch hierbei der
am 10.05.2011 - 19:01 Uhr
dann führt auch hierbei der weg zu einer gelungenen lösung nicht an der template.php vorbei, um die variable zu erhalten und im beliebigen kontext auszugeben.
link tag in .tpl
am 10.05.2011 - 19:02 Uhr
Jepster, Du hast Nevson leider noch nicht richtig verstanden. :) Ich habe zwar auch keine Lösung, aber Nevson möchte einen
<link rel="image_src"
im Header erzeugen und die Inhalte z.B. per Facebook "sharen" zu können (siehe z.B. http://www.port11.de/blog/facebook-sharerphp-nutzen).100 Punkte dafür bv :)
ich habe schon an mir gezweifelt ob ich es richtig vermittelt habe was ich will :D
vielleicht hilft dir ja
am 10.05.2011 - 19:16 Uhr
vielleicht hilft dir ja dieses facebook-tool weiter (beachte den platzhalter in der adresse): http://developers.facebook.com/tools/lint/?url=http%3A%2F%2Fwww.DEINE-DO...
link in tpl.php
am 11.05.2011 - 11:22 Uhr
ich glaube mein Problem bleibt bei dir unverstanden. Der Link von dir hilft leider nicht weiter da ich ja weiß was ich will.
Ich werde mein wohl weiter probieren müssen.
Mit diesem Tool findest du
am 11.05.2011 - 14:05 Uhr
Mit diesem Tool findest du raus, was Facebook von der betreffenden Seite bekommt, wenn ich mich nicht irre. Und du willst ja einen Thumbnail für deine Videos, die du bei FB sharest oder?
link in page.tpl
am 11.05.2011 - 15:54 Uhr
ok dann versuche ich es mal ausführlich:
Ich weiß was Facebook von meiner Seite bekommt deswegen ist dieses Tool unbrauchbar.
Wenn du einen Link teilst bei Facebook wird auch immer ein Bild mitgegeben.
Ich möchte beim sharen zu Facebook aber ein gezieltes Bild mitgeben.
Da erreicht man ziemlich einfach, man erstellt einen
<link rel="image_src" href="url zum gewünschten Bild"...
link und plaziert diesem im<head>
bereich des Quelltextes.Nun möchte ich diese Url dynamisch gestalten. Wird ein Video ausgegeben bringt es bei mir immer ein Thumbnail mit (wird angezeigt bevor man play clickt).
Und die entsprechende url möchte ich im besagten " head link" haben.
Achso! 1., Erstelle ein
am 11.05.2011 - 16:14 Uhr
Achso!
1., Erstelle ein Inhaltsfeld im betreffenden Node-Type für den Url, den du vorgeben willst.
2., Du überführst in der template.php den Inhalt aus deinem Inhaltsfeld in den Headbereich mittels einer PHP-Funktion.
So geht das wenigstens bei Drupal7 (als Beispiel ein Inhaltsfeld für die Meta-Description):
<?php
function MEIN_THEME_NAME_page_alter($page) {
if(!empty($page['content']['system_main']['nodes'])){
foreach($page['content']['system_main']['nodes'] as $key=>$value){
if(!empty($value['body']['#object']->field_faq_meta_description['de']['0']['value'])){
$meta_description_text = $value['body']['#object']->field_faq_meta_description['de']['0']['value'];
if(!empty($meta_description_text)){
$meta_description = array(
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => array(
'name' => 'description',
'content' => $meta_description_text
)
);
drupal_add_html_head($meta_description, 'meta_description' );
}
}
}
?>
Die genaue Position des Inhalts innerhalb des $value Stacks (= da steckt so ziemlich alles zu deinem Node drin) findest du mit dem Devel Modul heraus, indem du innerhalb dieser Funktion mit dpm(); die Variable $value dumpst.
Also ich habe das jetzt
am 15.05.2013 - 12:37 Uhr
Also ich habe das jetzt hinbekommen, dass ich ein festes Bild im Head-Bereich einblenden kann (ich brauch das auch für den Facebook-Like Button).
function garland_page_alter($page) {
echo "<link rel=\"image_src\" href=\"/sites/default/files/styles/medium/public/Flaschenkerl.jpg\"/>";
}
Ich würde aber immer gern das erste Bild des Inhaltstypen verwenden. Der maschinenlesbare Name von dem Feld ist "field_geschenkfoto".
Ist bestimmt ganz leicht, aber irgendwie tu ich mich mit drupal doch etwas schwer sowas rauszufinden :/