Bastian-Bringenberg.de → Zu TYPO3 → Tutorials → FaceBook in TYPO3

FaceBook "Mag ich" in TYPO3

Web2.0 erreicht immer mehr Firmen, die eigentlich auch ohne Web2.0 funktionieren sollten. Immer häuftiger kommt es vor, dass ich gefragt werde ob es möglich sei einen FaceBook Button auf die eigene Firmenpräsez zu bekommen. Natürlich bietet FaceBook dafür einfache Möglichkeiten an, immerhin ist diese Verknüpfung auch von Facebook erwünscht. Nun gibt es mehrere Möglichkeiten:

  1. Den Button auf jeder Seite haben

  2. Den Button auf ausgewählten Seiten haben

Den Button auf jeder Seite haben:

Um den Button auf jeder Seite zu haben muss lediglich eine userFunction aufgerufen und implementiert werden. Die Datei liegt bei mir beispielhaft im Fileadmin Verzeichniss und hat folgenden Inhalt:

  1. <?php
  2.  
  3. class user_facebook{
  4.   private var $cObj;
  5.   private var $staticURL=false;
  6.   private var $onlyDomain=false;
  7.   private var $layout="button_count";
  8.   private var $showFaces="false";
  9.   private var $private="like";
  10.   private var $font="verdana";
  11.   private var $colorscheme="light";
  12.   private var $width=240;
  13.   private var $height=50;
  14.  
  15.    
  16.   function main($content,$conf){
  17.     if(isset($conf['staticUrl'])) $this->staticUrl = $conf['staticUrl'];
  18.     if(isset($conf['onlyDomain'])) $this->onlyDomain = $conf['onlyDomain'];
  19.     if(isset($conf['layout'])) $this->layout = $conf['layout'];
  20.     if(isset($conf['showFaces'])) $this->showFaces = $conf['showFaces'];
  21.     if(isset($conf['private'])) $this->private = $conf['private'];
  22.     if(isset($conf['font'])) $this->font = $conf['font'];
  23.     if(isset($conf['colorscheme'])) $this->colorscheme = $conf['colorscheme'];
  24.     if(isset($conf['width'])) $this->width = $conf['width'];
  25.     if(isset($conf['height'])) $this->height = $conf['height'];
  26.     if($this->staticURL===false){
  27.       if($this->onlyDomain==true){
  28.         $var="http://".$_SERVER['SERVER_NAME'];
  29.       }else{
  30.         $var="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
  31.       }
  32.     }else{
  33.       $var=$this->staticURL;
  34.     }
  35.     $var=urlencode($var);
  36.     return '<iframe src="http://www.facebook.com/plugins/like.php?href='.$var.'&amp;layout='.$this->layout.'&amp;show_faces='.$this->showFaces.'&amp;width='.$this->width.'&amp;action='.$this->like.'&amp;font=tahoma&amp;colorscheme='.$this->colorscheme.'&amp;height='.$this->height.'" scrolling="no" frameborder="0" class="faceBookButton" style="border:none; overflow:hidden; width:'.$this->width.'px; height:'.$this->height.'px; " allowTransparency="true"></iframe>';
  37.   }
  38. }
  39.  
  40. ?>
  41.  

Nun gibt es mehrere Möglichkeiten das ganze Anzupassen. Für das Layouten gibt es eine CSS Klasse namens faceBookButton. Die weiteren Optionen im Detail:

  • staticURL
    Mit diesem Wert kann eine statische Adresse bestimmt werden, die angesprochen wird. Zum Beispiel das oben genannte FaceBook Profil oder eine externe Seite, die häufiger Besucht wird als die eigene.
    Einzutragen in Anführungszeichen mit beginnendem http://
    Default: false


  • onlyDomain
    Der boolsche Wert bestimmt ob lediglich die Domain oder auch die einzelnen Seiten angesprochen werden. Bei true würde auf jeder Seite ein „Ich mag Bastian-Bringenberg.de“ verwendet, bei false würden die einzelnen Seiten von dem „Ich mag ...“ angesprochen werden.
    Aktzeptierte Werte: true
    oder false
    Default: false

  • layout
    Bestimmt das Optische Erscheinungsbild des Buttons, wie FaceBook es realisiert. Hier gilt es auszuprobieren
    Aktzeptierte Werte: ( in Anführungszeichen ) standard
    oder button_count oder box_count
    Default: button_count;

  • showFaces
    Bestimmt ob eine Auswahl an Gesichtern rechts neben dem Button stehen soll, die mögen wo drauf der Button zeigt. Nur im Standardlayout verwendbar.
    Aktzeptierte Werte: ( in Anführungszeichen ) true
    oder false
    Default: false

  • action
    Ist das Verb, welches auf dem Button steht.
    Aktzeptierte Werte: ( in Anführungszeichen ) like
    oder recommend
    Default: like

  • font
    Die ausgewählte Schriftart auf dem Button.
    Aktzeptierte Werte: ( in Anführungszeichen ) arial oder lucida grande oder segoe ui oder tahoma oder trebuchet ms oder verdana
    Default: verdana

  • colorscheme
    Die Farbgebung des Buttons.
    Aktzeptierte Werte: ( in Anführungszeichen ) light oder dark
    Default: light

  • width
    Bestimmt die Breite des IFrames in dem der FaceBookButton ist.
    Aktzeptierte Werte: Integer
    Default: 240

  • height
    Bestimmt die Höhe des IFrames in dem der FaceBookButton ist.
    Aktzeptierte Werte: Integer
    Default: 50

Um diese Optionen wirksam zu machen müsst ihr nur euer Template erweitern. Zuerst ein Einbaut ohne Veränderungen:

  1. includeLibs.facebook = fileadmin/templates/facebook.php
  2. page.10.marks{
  3. FACEBOOK = USER
  4. FACEBOOK.userFunc=user_facebook->main
  5. }
  6.  
  7. ###
  8. # Wenn wir nun zum Beispiel eine statische Seite, zum Beispiel „https://www.google.com“ einfügen möchten, reicht eine kleine Abwandlung:
  9. ###
  10. includeLibs.facebook = fileadmin/templates/facebook.php
  11. page.10.marks{
  12. FACEBOOK = USER
  13. FACEBOOK.staticURL=https://www.google.com
  14. FACEBOOK.userFunc=user_facebook->main
  15. }
  16.  

Nur auf einzelnen Seiten

Eine Extension dafür ist in Arbeit und wird in Kürze folgen. Hilfe im Bereich FLEX wird gerne angenommen. Alternativen zur Pluginkonfiguration werden gerne genommen.

Weitere Informationen und Hinweise

Für Anregungen und Wünsche, so wie bei bekannten Fehlern bitte eine Email an mich schicken. Ich freue mich außerdem über jedes kleine Danke per Email oder mit einem FaceBook klick.



Stand: 16. September 2010

Profil bei FaceBookFaceBook SharingTwitter ProfilTwittere über diese Seite!Skype adresse von Bastian BringenbergBastian Bringenberg eine Email schicken