Seite 1 von 2

Anbindung an Facebook

Verfasst: Mo 15. Mär 2010, 13:44
von romaro
Hallo Community,

hat von Euch jemand schon mal an ein Modul zur Anbindung der News oder Ähnliches an ein Facbook oder Twitter Konto gedacht?

Hab leider über die Suche nichts gefunden. Da es sowas für T3 schon gibt, könnte es ja sein, dass sich hier auch schon einer für Contenido so seine Gedanken gemacht hat.

Wenn nicht, habt Ihr evtl. Infos über die Umsetzung eines solchen Moduls?


Gruß romaro

Re: Anbindung an Facebook

Verfasst: Mo 15. Mär 2010, 16:04
von xmurrix
Hallo romaro,

im Grunde sollte es ausreichen, wenn man die Facebook PHP client library einbindet und in Modulausgaben diese verwendet:
http://svn.facebook.com/svnroot/platfor ... orm.tar.gz

oder man setzt die die Services_Facebook von PEAR ein:
http://pear.php.net/package/Services_Facebook

Über Google könntest du eventuell Beispielimplementierungen für beide Möglichkeiten finden, die du in die Modulausgaben übernehmen kannst.

Gruß
xmurrix

Re: Anbindung an Facebook

Verfasst: Mo 15. Mär 2010, 17:52
von idea-tec
Und wenn man es andersrum machen will, sollte man sich mit der "Chain" (http://forum.contenido.org/viewtopic.ph ... ilit=chain) auseinander setzen...
dann klappt auch das posten nach Twitter oder Facebook.

Re: Anbindung an Facebook

Verfasst: Mi 16. Jun 2010, 08:34
von danielawoe
Wenn es um de "like" und "share" Button geht...

Dafür habe ich mir einfach ganz stümperhaft die Bradcrumb-Navigation umgebastelt... Damit auch der Link geteilt wird auf dem ich grad bin...
Für Profis vielleicht nichts Neues & Besonderes, aber der eine der andere Neuling freut sich vielleicht ;-)
Natürlich muß an Stelle von http://www.meine-domain.com/ die richtige Domain eingesetzt werden...

Modul-Output:

Code: Alles auswählen

<?php
/**
* $RCSfile$
*
* Description: Share this link on Facebook 
* starting from top idcat (of given level) down to current idcat
*
* @version 1.0.0
* @author Rudi Bieller modified by Daniela Woehlert 
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2008-04-08
* }}
*
* $Id$
*/

// include Contenido_FrontendNavigation_Breadcrumb class
cInclude('classes', 'Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php');

try {
    $oBreadcrumb = new Contenido_FrontendNavigation_Breadcrumb($db, $cfg, $client, $lang, $cfgClient);
    $oBreadCategories = $oBreadcrumb->get($idcat, 1); // starting level in this case is 1, not 0
    if ($oBreadCategories->count() > 0) {
       
            // please remember, this is a sample - or a live application it's better to use a template!
            echo'<div class="faceb-1"><fb:like href=""http://www.meine-domain.com/front_content.php?idcat='.$oBreadCategory->getIdCat().'" font="arial"></fb:like> <br/></div> <div class="faceb-2"><fb:share-button class="url" href="http://www.meine-domain.com/front_content.php?idcat='.$oBreadCategory->getIdCat().'" /></div>';
      
    }
} catch(Exception $e) {
    echo 'Shit happens: ' . $e->getMessage() . ': ' . $e->getFile() . ' at line '.$e->getLine() . ' ('.$e->getTraceAsString().')';
}
?>
Dann nur noch vor </body> im Fuß des Quellcodes folgendes Script einbinden:

Code: Alles auswählen

      
<div id="fb-root"></div>
    <script>
      window.fbAsyncInit = function() {
        FB.init({appId: '122470127774997', status: true, cookie: true,
                 xfbml: true});
      };
      (function() {
        var e = document.createElement('script');
        e.type = 'text/javascript';
        e.src = document.location.protocol +
          '//connect.facebook.net/de_DE/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
      }());
    </script>




Re: Anbindung an Facebook

Verfasst: Do 24. Jun 2010, 09:54
von Anaman
Vielen Dank - das ist genau das, was ich gesucht habe.

Jedoch erhalte ich folg Fehlermeldung:

Code: Alles auswählen

Fatal error: Call to a member function getIdCat() on a non-object in /Webpfad/contenido/includes/include.con_editcontent.php(638) : eval()'d code on line 746


Würde mich freuen, wenn jemand einen kleinen Tipp parat hat. :)

Viele Grüße

Re: Anbindung an Facebook

Verfasst: Mo 12. Jul 2010, 19:02
von Neverlands
Hallo danielawoe,

ich wäre auch sehr an Deinem Modul interssiert, da der Button momentan immer nur auf dieselbe Seite verweist.
Leider bekomme ich exakt den gleichen Fehler wie Anaman:

Code: Alles auswählen

Fatal error: Call to a member function getIdCat() on a non-object in /var/www/web0/html/neverlands/front_content.php(980) : eval()'d code on line 570
Wäre für Hilfe dankbar,
Gruß,
Neverlands

Re: Anbindung an Facebook

Verfasst: Mo 2. Aug 2010, 23:10
von masterof
Hatte gerade das gleiche Problem..hab jetzt zwar nicht so genau nachgeforscht, aber ich denke das es was mit dem AMR Modul zu tun hat.

Nach dem Anpassen des Codes gehts bei mir auch mit der umgeschriebenen URL.

Code: Alles auswählen

<?php
/**
* $RCSfile$
*
* Description: Share this link on Facebook
* starting from top idcat (of given level) down to current idcat
*
* @version 1.0.0
* @author Rudi Bieller modified by Daniela Woehlert
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2008-04-08
* }}
*
* $Id$
*/

// include Contenido_FrontendNavigation_Breadcrumb class
cInclude('classes', 'Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php');

try {
    $oBreadcrumb = new Contenido_FrontendNavigation_Breadcrumb($db, $cfg, $client, $lang, $cfgClient);
    $oBreadCategories = $oBreadcrumb->get($idcat, 1); // starting level in this case is 1, not 0
    if ($oBreadCategories->count() > 0) {
       
            // please remember, this is a sample - or a live application it's better to use a template!
           
           if (substr_count($_SERVER["REQUEST_URI"], "?") == 0) {
            $url = $cfgClient[$client]["path"]["htmlpath"] . substr($_SERVER["REQUEST_URI"], 1);
           } else {
            $url = $cfgClient[$client]["path"]["htmlpath"] . substr($_SERVER["REQUEST_URI"], 1, strpos($_SERVER['REQUEST_URI'], "?") - 2);
          }
            echo'<div class="faceb-1"><fb:like href="'.$url.'" show_faces="false" layout="button_count"></fb:like></div>';
    }
} catch(Exception $e) {
    echo 'Shit happens: ' . $e->getMessage() . ': ' . $e->getFile() . ' at line '.$e->getLine() . ' ('.$e->getTraceAsString().')';
}
?>
außerdem hab ich nur den kleinen Button genommen und auf den Rest verzichtet.
Viel Spaß... :D

Re: Anbindung an Facebook

Verfasst: Mi 4. Aug 2010, 10:16
von McHubi
Schönes Modul :D Danke!

Alternativ ließe sich auch dies hier sehr gut verwenden: http://www.addthis.com/

Das erstellte Script einfach in ein Modul packen und über die Templates einbinden. Fertig.

Vorteile: Buttons & Co. sind anpassbar, auf Wunsch inkl. Klickstatistik. Obendrein deckt addthis so ziemlich alles aus dem Bereich Social-Media & -Bookmarks ab. Kostenlos.
Nachteil: Es ist halt ein Link auf die Website von addthis im aufploppenden Fenster vorhanden und man sieht: aha, nicht selbst programmiert. :wink:

Re: Anbindung an Facebook

Verfasst: Do 5. Aug 2010, 06:17
von mko
Vielleicht ist meine Lösung für einen "Share it Button" zu einfach?

Output:

Code: Alles auswählen

<?php


$sql = "SELECT pagetitle, title FROM ".$cfg["tab"]["art_lang"]." WHERE idart='$idart'";

$db->query($sql);
$db->next_record();

$pagetitle= $db->f("pagetitle");
$title= $db->f("title");



$url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

echo "<a href=http://www.facebook.com/sharer.php?u=http://$url&t=$pagetitle border=0 target=_blank title=Share Facebook><img src=upload/elemente/facebook_16.png border=0 height=15px> Share it</a>";


?>

Re: Anbindung an Facebook

Verfasst: Mi 13. Apr 2011, 14:36
von stsofd
Ich habe nun einiges hin und her probiert, um facebook anzubinden. Im Prinzip funktionieren ja die vorgestellten Lösungen irgendwie alle.
Aber: bisher habe ich keine Lösung hin bekommen, die es zulässt nur den jeweiligen Artikel zu teilen und bei facebook der direkte Link zu genau diesem Artikel aufgeführt ist.

Gibt es da schon eine gute Lösung?

Re: Anbindung an Facebook

Verfasst: Mi 13. Apr 2011, 15:12
von McHubi
Also bei der addthis-Variante klappt das wunderbar.

Re: Anbindung an Facebook

Verfasst: Mi 13. Apr 2011, 18:36
von BagHira
Servus,

ich hab nicht groß gelesen *zugeb*

Hab das folgende hier am laufen und tut wohl das was du willst (AMR vorrausgesetzt):

Code: Alles auswählen

<?php
$params = array(
    'idart' => $idart,
    'lang'  => $lang
);
// url aus parameter generieren.
$url = Contenido_Url::getInstance()->build($params, true);
echo '<iframe src="http://www.facebook.com/plugins/like.php?href='.$url.'&layout=standard&show_faces=true&width=660&action=like&colorscheme=light&height=25" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:660px; height:25px;" allowTransparency="true"></iframe>';
?>
Beispiel: http://www.handgewickelte-glasperlen.de/blog/index.html (einzelne Artikel anklicken)
OT.:
Vergiss nicht die Datenschutzhinweise anzupassen <- Tipp :roll:

Re: Anbindung an Facebook

Verfasst: Mi 13. Apr 2011, 21:03
von stsofd
Vielen Dank!
Das bringt mich dem Ganzen ein Stück näher. Jetzt habe ich nur noch das Problem, dass nicht das dazugehörige Bild als Vorschau bei facebook angezeigt wird sondern ein anderes. In Contenido gibt es ja die Funktion, dass das erste Bild eines Artikels als Thumb angezeigt werden kann.

Hat dafür auch schon jemand einen Codschnipsel als Ergänzung?

Re: Anbindung an Facebook

Verfasst: Mi 13. Apr 2011, 21:09
von BagHira
Servus,

ich denk da wirst du dich mit der "like.php" auseinandersetzen müssen. Hab mal was gesehen, aber den Link nicht mehr im Kopf... Google doch mal nach Facebook & like.php od. Gefällt mir.
Ich denk da wirst du fündig (wenn das geht?) und kannst den Code entsprechend anpassen.

Re: Anbindung an Facebook

Verfasst: So 5. Jun 2011, 14:22
von McHubi
Soo...

... auch schön. Soviel zum "Like"-Button, der "Share"-Button scheint nicht betroffen zu sein und gleich mal zwei - teils - unterschiedliche Auffassungen:

http://www.dr-bahr.com/news/allmedia-gm ... ig-ab.html
http://spreerecht.de/datenschutz/2010-1 ... erklaerung

Also den Like-Button durch eine Grafik ersetzen, die dann mit einem Link versehen und die aktuelle URL als Variable übermitteln - damit erst auf "geäußerten Willen" des Seitenbesuchers Daten übertragen werden. Dann eine neue Seite öffnen, da dann in den eigentlichen Likebutton die URL eintragen und dann erst absenden... Nur, wie dann die Anzahl der Likes im eigentlichen Artikel darstellen?