Wie Facebook "I like" Button einbauen?

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Undertaker Tom
Regular
Posts: 23
Joined: Mon Apr 28, 2008 12:33 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Undertaker Tom » Wed Feb 23, 2011 3:46 pm

Code: Select all

{$entrydata.url|escape}
DAS war's!
:-)

Das mit der Zahl als Flattr-ID ist korrekt. Man kann den Usernamen nehmen oder die echte Flattr-UID, die eine Zahl ist.

Nun habe ich noch bei "flattr-dsc" einen Fake-Text drin. Da sollte eigentlich das Excerpt stehen. Nun habe ich es mit

Code: Select all

{$entry.body}


probiert, aber das liefert nur einen leeren String.

Wenn Dir/Euch dazu noch was einfällt, das wäre klasse.
Ich poste dann die komplette Änderung hier, damit auch andere evtl. davon was haben.

User avatar
garvinhicking
Core Developer
Posts: 30020
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Wie Facebook "I like" Button einbauen?

Post by garvinhicking » Wed Feb 23, 2011 3:54 pm

Hi!

$entry ist da nicht verfügbar; wenn müsste es $entrydata heißen....?

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/

Undertaker Tom
Regular
Posts: 23
Joined: Mon Apr 28, 2008 12:33 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Undertaker Tom » Wed Feb 23, 2011 5:57 pm

Hmmm, klappt schon fast. Ich brauche eine Variable, die an der Stelle den Text des Artikels ausliefert.
Flattr kürzt das dann auf 1000 Zeichen AFAIK.
entrydata klingt gut, aber wie?
Nur

Code: Select all

{$entrydata}
funktioniert nicht.

User avatar
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Timbalu » Wed Feb 23, 2011 6:00 pm

{$entrydata.body} schon probiert?
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian

Undertaker Tom
Regular
Posts: 23
Joined: Mon Apr 28, 2008 12:33 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Undertaker Tom » Wed Feb 23, 2011 6:06 pm

Yes, Sir!
Das war das Naheliegendste und liefert nur einen leeren String. Wenn alle Stricke reißen, hau ich da nochmal den Titel rein. Mir geht es ja darum, daß die Leute flattrn können und das geht auch ohne Description. Ob man nun bei flattr auch noch einen Textauszug sehen kann, ist mir eher egal.
Aber wenn das halt eine Lösung werden soll, die tauglich ist, daß sie jeder nachmachen kann, sollte ich schon gucken, daß das sauber ist.

User avatar
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Timbalu » Wed Feb 23, 2011 6:21 pm

$entrydata dürfte lt. Plugin auch nur url, title und path haben.
Ansonsten mal mit {$entrydata|print_r} durchleuchten.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian

Undertaker Tom
Regular
Posts: 23
Joined: Mon Apr 28, 2008 12:33 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Undertaker Tom » Wed Feb 23, 2011 6:35 pm

Dabei kommt das hier heraus:
var flattr_dsc = 'http://bestatterweblog.de/archives/Fran ... 50Franzose soll seine tote Frau auf Grill verbrannt haben/plugins/serendipity_event_findmore/img/Array';
Ist aber immerhin schon mehr als ein leerer String. :)

User avatar
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Timbalu » Wed Feb 23, 2011 6:42 pm

Also ich kenne mich mit dem Ding gar nicht aus, aber wenn du body und extended in $entrydata brauchst, müsstest du das Plugin an dieser Stelle etwas hacken.

223 case 'frontend_display:html:per_entry':
224 $entry = array(
225 'url' => $eventData['rdf_ident'],
226 'title' => $eventData['title'],
227 'path' => $path
228 );

Code: Select all

                case 'frontend_display:html:per_entry':
                    $entry = array(
                        'url'   => $eventData['rdf_ident'],
                        'title' => $eventData['title'],
                        'fulltext' => $eventData['body'].$eventData['extended'],
                        'path'  => $path
                    );
Dann kannst du mit {$entrydata.fulltext} (eventuell noch mit |@truncate:50:'...') darauf zugreifen.
Ansonsten musst du mal ein Beispiel bringen, was du genau in der var flattr_dsc benötigst.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian

Undertaker Tom
Regular
Posts: 23
Joined: Mon Apr 28, 2008 12:33 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Undertaker Tom » Wed Feb 23, 2011 6:51 pm

Danke Ian,
das habe ich gemacht und es liefert auch Text aus dem Blog zurück, so wie es wohl sein soll.
Aber das sieht so aus:

Code: Select all

<p>Dazu gibt es jetzt auch einen Trailer.<br />
Den kann <a href="http://dreibeinblog.de/finale/85-allgemeines/30590-finale-der-trailer">man hier anschauen.</a></p><p>Aus rechtlichen Gründen
Wie bekomme ich das HTML weg?

Ich glaube, wir kriegen das hin! :-)

User avatar
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Timbalu » Wed Feb 23, 2011 7:02 pm

Entweder mit

Code: Select all

'fulltext' => strip_tags($eventData['body'].$eventData['extended']),
im plugin
oder

Code: Select all

{$entrydata.fulltext|strip_tags|@truncate:50:'...'}
im tpl
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian

Undertaker Tom
Regular
Posts: 23
Joined: Mon Apr 28, 2008 12:33 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Undertaker Tom » Wed Feb 23, 2011 11:54 pm

So, jetzt funktioniert alles wunschgemäß, dank des großartigen Einsatzes der lieben Helfer Garvin und Ian.

Es geht darum, das findmore-Plugin fit zu machen, daß es auch flattr anzeigen kann.

Die ersten beiden Änderungen betreffen die "serendipity_event_findmore.php"

So ab Zeile 90 habe ich verschiedene Dienste eingebaut, in diesem Fall geht es um die Zeile 'flattr'.

Code: Select all

 'tellafriend'   => 'tell a friend',
                        'twitterbig'    => 'twitterbig',
                        'fracebookbig'  => 'fracebookbig',
                        'facebooklike'  => 'Facebooklike',
                        'notlike'       => 'notlike',
                        'flattr'        => 'flattr',
                        'paypal'        => 'paypal'
Diese zusätzlichen Einträge sorgen dafür, daß man diese Einträge über das Admin-Backend ein- und ausschalten kann.


Etwa ab Zeile 205 muß der Code so aussehen. Die Änderung wird mit 'fulltext' eingeleitet.

Code: Select all

 case 'frontend_display:html:per_entry':
                    $entry = array(
                        'url'   => $eventData['rdf_ident'],
                        'title' => $eventData['title'],
                        'fulltext' => $eventData['body'].$eventData['extended'],
                        'path'  => $path
                    );
Diese Änderung sorgt dafür, daß man weiter unten in der .tpl dann für Flattr eine Zeile Text aus dem betr. Artikel übergeben kann.

In der "plugin_findmore.tpl" habe ich dann folgenden Code eingefügt:

Code: Select all

{if NOT $findmore_disabled_services.flattr}
<div class="flattr_like">
<span class="flattr">
<p>{$entry.flattr}</p>
        <script type="text/javascript">
            var flattr_uid  = 'DEINE_FLATTR_ID';
            var flattr_url  = '{$entrydata.url|escape}';
            var flattr_tle  = '{$entrydata.title|escape}';
            var flattr_dsc  = '{$entrydata.fulltext|strip_tags|@truncate:50:'...'}';
            var flattr_cat  = 'text';
            var flattr_lng  = 'de_DE';
            var flattr_btn  = 'compact';
            var flattr_hide = '0';
        </script>
        <script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>
    </span>
</div>
{/if}
Über die Bedeutung der einzelnen Parameter gibt die Flattr-Seite erschöpfend Auskunft.
Im wesentlichen macht die ganze Änderung wie oben beschrieben es möglich, daß der Flattr-Button mit dem Zähler, wie oft schon geflattrt wurde, mit den anderen "findmore-Diensten" gemeinsam unterhalb eines Artikels angezeigt werden kann. Auf das flattr-Plugin kann man dann getrost verzichten.
Das hat zwar wesentlich mehr Einstellmöglichkeiten, der Button wurde aber z.B,. auch auf der Übersichtsseite angezeigt, was bei mir wegen der grellen Farbgebung nicht zum Layout passte.
Deshalb hatte ich schon daran herumgefrickelt und es nur auf der single-Seite anzeigen lassen.

Mit den Änderungen im findmore-Plugin habe ich es aber genau da, wo ich es haben wollte und kann es ohne Umbauten am Template auch jederzeit wieder an- und abschalten.

Vielleicht gefällt es jemandem.

Vielen Dank für den freundlichen Support!

User avatar
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Timbalu » Thu Feb 24, 2011 10:09 am

Soll das doch schon nach 50 Chars (truncate:50) enden, würde ich empfehlen das extended rauszunehmen

Code: Select all

'desc' => $eventData['body'],
und im template auf

Code: Select all

var flattr_dsc  = '{$entrydata.desc|strip_tags|@truncate:50:'...'}';
zu setzen
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian

Undertaker Tom
Regular
Posts: 23
Joined: Mon Apr 28, 2008 12:33 pm

Re: Wie Facebook "I like" Button einbauen?

Post by Undertaker Tom » Thu Feb 24, 2011 11:54 am

Ja, das hatte ich mir auch schon überlegt. Aber eigentlich möchte ich hundert oder hundertfünfzig Zeichen...
Wenn ich aber irgendetwas anderes als 50 nehme, bekomme ich immer einen flattr-Error.

Liebe Grüße

Post Reply