[gelöst] Facebook Module funktionieren nicht - ohne Module eine Likebox und ein Likebutton

am 01.03.2011 - 19:21 Uhr in
Halll,
ich habe ein Problem und zwar möchte ich direkt neben meinem oberen Seitenlogo eine Facebook likebox haben - also ein "I like" feld, was qasi mit einer Unternehmerseite auf Facebook verbunden ist.
Unter !bestimmten! nodes soll ein Likebutton sein.
Wie realisiere ich das, ohne dass ich die Module benutze, weil die bei mir nicht richtig funktionieren - obwohl ich alle erdenklichen Einstellungen (auch in der settings.php) bereits vorgenommen habe.
Allgemein werden bei mir ziemlich viele Warnungen von undefinierten Variablen ausgegeben, wenn ich die Facebookmodule aktiviere.
Deswegen möchte ich davon loskommen.
Gibt es irgendetwas das ich so tun kann?
Ich habe hier schon im Forum geschaut, aber irgendwie war das alles nicht genau das was ich suche.
Schonmal jetzt ein herzliches Dankeschön!
Fabse
- Anmelden oder Registrieren um Kommentare zu schreiben
Die Module gibt es halt noch
am 01.03.2011 - 19:30 Uhr
Die Module gibt es halt noch nicht für D7...
Grundsätzlich kannst du dir ja Likebox und LikeButton als Code direkt von Facebook besorgen. Wenn der Likebutton z.B. unter allen Nodes eines Typs sein soll könntest du das über eine tpl.php lösen.
Hier das könntest Du in dein
am 01.03.2011 - 20:00 Uhr
Hier das könntest Du in dein Node Template schreiben:
<iframe src="http://www.facebook.com/plugins/like.php?href=YOUR_URL"
scrolling="no" frameborder="0"
style="border:none; width:450px; height:80px"><iframe>
YOUR_URL ist der ABSOLUTE Link zu deinem Node.
LG
ahh oke danke
am 01.03.2011 - 20:09 Uhr
Ich probiers sofort mal aus!
Templates
am 01.03.2011 - 21:16 Uhr
Moment - wie mache ich das mit den Templates bzw. welches ist denn dafür zuständig bzw. muss ich eins anlegen?
Und wie bekommen ich die like_box direkt neben den Seitentitel oben (da wo hier auf dieser Seite jetzt "DrupalCenter.de" steht??)
Danke!
Im Ordner deines aktiven
am 01.03.2011 - 21:40 Uhr
Im Ordner deines aktiven Themes (welches ist das eigentlich) liegt irgendwo eine node.tpl.php als Master für alle Nodes.
Wenn du jetzt nur den Nodes vom Typ story einen Button geben willst kannst du dir eine node-story.tpl.php erstellen und nach deinen Wünschen anpassen...
Für deinen Fall klappt das aber nicht, weil der Seitentitel für die ganze Site kommt aus der page.tpl.php
Also brauchst du eine PHP function in der template.php deines Themes die den Nodetypen abfragt und den FB-Code in einer Variablen ausgibt.
Ungefähr so:
<?php
function THEMENAME_preprocess_page(&$vars) {
$node = $vars['node'];
// story oder dein typ
if ( $node->type == 'story' ) {
$vars['fb_like_button'] = ' FB CODE HIER';
}
}
?>
In deiner page.tpl.php kannst du dann $fb_like_button ausgeben z.B. so:
<?php if ($fb_like_button): ?>
<div id="fb_like_button"><?php print $fb_like_button; ?></div>
<?php endif; ?>
Wenn ich eine
am 03.03.2011 - 18:34 Uhr
Wenn ich eine node-beitrag.tpl.php erstelle, dann nimmt er die tpl nicht. Also Drupal nimmt trotzdem die normale node.tpl.php :-/
Muss man den maschienennamen des Inhaltstypen benutzen oder muss ich noch eine weitere Einstellung treffen?
hst Du einen Node Typen
am 03.03.2011 - 18:47 Uhr
hst Du einen Node Typen Namens beitrag erstellt?
Wenn es ein Artikel ist probier node-story.tpl.php
Wenn es eine APge ist probier node-page.tpl.php
Fall Du einen Nodetypen Namens Beitrag hast,
kann es auch an Gross/Kleinschreibung liegen.
Die tpl.php Dateien gehören in den Ordner des gewählten Themes.
LG
Und ja, Du mußt den
am 03.03.2011 - 19:34 Uhr
Und ja, Du mußt den Maschienennamen für den Template-File verwenden und es muß auch ein node.tpl.php file im Theme Ordner vorhanden sein.
Beste Grüße
Werner
Öhmmm ... In D7 heissen
am 03.03.2011 - 19:43 Uhr
Öhmmm ...
In D7 heissen individuelle Template Dateien jetzt anders. Wenn der Inhaltstyp "beitrag" heisst, dann müsste die Datei node--beitrag.tpl.php heissen! Mit ZWEI -- !!!
hmmm...
am 03.03.2011 - 20:16 Uhr
Ich zähle mal die Schritte auf, die ich gemacht habe...
[...]<?php print $user_picture; ?>
<?php print $submitted; ?>
</div>
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php $curr_url = check_plain("http://" .$_SERVER['HTTP_HOST'] .$node_url); echo $curr_url; ?>layout=standard&show_faces=true&width=450&action=like&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>
<div class="content clearfix"<?php print $content_attributes; ?>> [...]
Aber das funktioniert bei mir offensichtlich nicht...
hmm, probier mal Du neue
am 03.03.2011 - 20:29 Uhr
hmm,
probier mal Du neue Template Datei node--beitrag.tpl.php
in den Ordner zu kopieren von dem Du node.tpl.php hast.
wird die node.tpl.php aus dem theme ordner bartik/templates überhaupt genommen?
verscueh es auch mal die templates direkt in den bartik ordner zu schieben.
LG
Wenn du eine neue
am 03.03.2011 - 20:48 Uhr
Wenn du eine neue Template-Datei in dein Theme einfügst, musst du den Cache leeren, damit die Datei übernommen wird. Um genau zu sein muss die Theme-Registry neu aufgebaut werden.
Cache leeren
am 03.03.2011 - 21:09 Uhr
Wie mach ich das?
Installiere dir eam besten
am 03.03.2011 - 21:48 Uhr
Installiere dir eam besten Admin Menu oder Devel, damit kannst du beliebig die Caches leeren.
DANKE!!
am 03.03.2011 - 21:54 Uhr
Es hat endlich funktioniert! :-) Danke!
Ich habe Devel installiert.