[Erledigt] Facebook: 2Klick Lösung von Heise

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
HadleyB
Regular
Posts: 837
Joined: Sat Feb 11, 2006 11:47 pm

[Erledigt] Facebook: 2Klick Lösung von Heise

Post by HadleyB »

Ich probiere mich mal wieder dumm und dämlich, aber wenn ich das Script:

Code: Select all

<head>
  …
  <script type="text/javascript" src="jquery.js"></script> 
  <script type="text/javascript" src="jquery.socialshareprivacy.js"></script>
  <script type="text/javascript">
    jQuery(document).ready(function($){
      if($('#socialshareprivacy').length > 0){
        $('#socialshareprivacy').socialSharePrivacy(); 
      }
    });
  </script>
  …
</head>
<body>
  …
  <div id="socialshareprivacy"></div>
  …
</body>
in meine index.tpl einfüge, bekomme ich eine leere Seite, nichts geht mehr. Aber da gehört es doch hin, oder nicht?

http://www.heise.de/extras/socialshareprivacy/
Last edited by HadleyB on Wed Feb 06, 2013 4:57 pm, edited 3 times in total.
mfg
Hadley
kleinerChemiker
Regular
Posts: 765
Joined: Tue Oct 17, 2006 2:36 pm
Location: Vienna/Austria
Contact:

Re: Facebook: 2Klick Lösung von Heise

Post by kleinerChemiker »

du mußt { und } durch {ldim} und {rdim} ersetzen oder den ganzen block escapen (weiß aber nicht auswendig wie)
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Facebook: 2Klick Lösung von Heise

Post by yellowled »

kleinerChemiker wrote:du mußt { und } durch {ldim} und {rdim} ersetzen oder den ganzen block escapen (weiß aber nicht auswendig wie)

Code: Select all

<script>{literal}
…
{/literal}</script>
YL
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Facebook: 2Klick Lösung von Heise

Post by Timbalu »

du meinst {ldelim} - {rdelim} oder gibt es da ene Kurzform?
Ansonsten {literal} - {/literal} für den Block wie YL sagt, oder mit s9y 1.7 und Smarty3 {leerzeichen und leerzeichen} oder }; oder }irgendeinZeichen ;-)
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
HadleyB
Regular
Posts: 837
Joined: Sat Feb 11, 2006 11:47 pm

Re: Facebook: 2Klick Lösung von Heise

Post by HadleyB »

Das funktioniert beides nicht.

Für die INDEX.TPL

Code: Select all

<script>{ldelim}
<script type="text/javascript" src="jquery.js"></script> 
  <script type="text/javascript" src="jquery.socialshareprivacy.js"></script>
  <script type="text/javascript">
    jQuery(document).ready(function($){
      if($('#socialshareprivacy').length > 0){
        $('#socialshareprivacy').socialSharePrivacy(); 
      }
    });
  </script>
  {rdelim}</script>
Für die ENTRIES.TPL

Code: Select all

<script>{ldelim}
$('#socialshareprivacy').socialSharePrivacy({
    services : {
        twitter : {
            'status' : 'off'
        },
        gplus : {
            'status' : 'off'
        }
    }
});
{rdelim}</script>
Aber das ist sicher falsch. Wenn ich das einsetze, bekomme ich eine leere Seite.
mfg
Hadley
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Facebook: 2Klick Lösung von Heise

Post by Timbalu »

...zurück auf Anfang und noch einmal (genauer) lesen, Hadley :!:
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
HadleyB
Regular
Posts: 837
Joined: Sat Feb 11, 2006 11:47 pm

Re: Facebook: 2Klick Lösung von Heise

Post by HadleyB »

Alle { und } ersetzen? Oh! Ich teste.....

Das funktioniert alles nicht. Ich werde erstmal auf diese Funktion verzichten. Danke für Eure Mühe.
mfg
Hadley
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: [Aufgegeben!] Facebook: 2Klick Lösung von Heise

Post by Timbalu »

Ich weiß nicht warum du dir soviel Mühe machst es einfach falsch verstehen zu wollen... um dann immer gleich das Handtuch zu schmeißen...?!

Code: Select all

<script>{literal}
…
{/literal}</script>
ist das einzig Wahre in diesem Fall, denn dann brauchen Javascript { } keinerlei Umwandlung, um erfolgreich von Smarty (als non-Smarty-delimiter!) ausgelesen zu werden.
Diese einzelnen {ldelim} = { und {rdelim} = } sind nur wirklich sinnvoll zu benutzen, falls man im Javascript code auch Smarty Anweisungen hat. Ansonsten droht halt bei jedem vergessenen bracket eine weiße Seite.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
HadleyB
Regular
Posts: 837
Joined: Sat Feb 11, 2006 11:47 pm

Re: [Aufgegeben!] Facebook: 2Klick Lösung von Heise

Post by HadleyB »

Ich mache jetzt seit Stunden mit diesen paar Codeschnipseln rum und ich hatte Hunger.

In der INDEX.TPL steht jetzt:

Code: Select all

  <script type="text/javascript" src="jquery.js"></script> 
  <script type="text/javascript" src="jquery.socialshareprivacy.js"></script>
  <script type="text/javascript">{literal}
    jQuery(document).ready(function($){
      if($('#socialshareprivacy').length > 0){
        $('#socialshareprivacy').socialSharePrivacy(); 
      }
    });
  {/literal}</script>
In der ENTRIES.TPL steht:

Code: Select all

             <script>{literal}
$('#socialshareprivacy').socialSharePrivacy({
  services : {
    facebook : {
      'perma_option': 'off'
    }, 
    twitter : {
        'status' : 'off'
    },
    gplus : {
      'display_name' : 'Google Plus'
    }
  },
  'cookie_domain' : 'heise.de'
});
     {/literal}</script>  
Ich habe jetzt zwar keine "weiße Seite" mehr, es geht aber immer noch nicht.
mfg
Hadley
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Facebook: 2Klick Lösung von Heise

Post by Timbalu »

Aber nu weißt du, dass es nicht mehr an Smarty liegt! :wink:
Guck mal hier

Code: Select all

'cookie_domain' : 'heise.de'
Das kann doch so nicht stimmen, wenn das bei dir laufen soll...
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: [Aufgegeben!] Facebook: 2Klick Lösung von Heise

Post by yellowled »

HadleyB wrote:

Code: Select all

  <script type="text/javascript" src="jquery.js"></script> 
  <script type="text/javascript" src="jquery.socialshareprivacy.js"></script>
  <script type="text/javascript">{literal}
    jQuery(document).ready(function($){
      if($('#socialshareprivacy').length > 0){
        $('#socialshareprivacy').socialSharePrivacy(); 
      }
    });
  {/literal}</script>
1. Du musst, nein, solltest jQuery nicht einbinden. Aktuelle Versionen von s9y kommt bereits mit jQuery, zweimal einbinden ist unsinnig und bremst das Seitenrenderung massiv aus.

2. Der Pfad zu jquery.socialshareprivacy stimmt sehr wahrscheinlich nicht, je nachdem, wo Du die Datei abgelegt hast. Die simpelste Lösung ist, sie ins Template-Verzeichnis zu packen. Dann wird sie so eingebunden:

Code: Select all

<script type="text/javascript" src="{$serendipityHTTPPath}templates/{$template}/jquery.socialshareprivacy.js"></script>
Ohne die korrekte Einbindung des Plugins klappt natürlich auch der folgende script-Aufruf nicht.

3. Der doppelte Aufruf von .socialSharePrivacy(); in index.tpl und entries.tpl ist unsinnig.

4. Der Aufruf in der entries.tpl muss ebenfalls in

Code: Select all

jQuery(document).ready(function($){
      if($('#socialshareprivacy').length > 0){
        // …
      }
    });
erfolgen, da das mit s9y gebundlete jQuery im noConflict-Modus arbeitet. Ich wäre mir unsicher, ob das if-Statement so überhaupt nötig oder sinnvoll ist.

5. Ob die Einbindung in der entries.tpl überhaupt sinnvoll ist, kommt ein wenig darauf an, ob #socialshareprivacy nur in der Einzelansicht von Artikeln angezeigt wird oder auch auf Übersichtsseiten – falls letzteres, muss es definitiv in die index.tpl.

YL
onli
Regular
Posts: 2830
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: Facebook: 2Klick Lösung von Heise

Post by onli »

Nur für das Log (mir ist bewusst, dass das Findmore-Plugin bei dir Probleme zeigt): Im Findmore-Plugin ist bereits eine Option, die genau diese Buttons einbindet.
HadleyB
Regular
Posts: 837
Joined: Sat Feb 11, 2006 11:47 pm

Re: Facebook: 2Klick Lösung von Heise

Post by HadleyB »

Da Findmore bei mir nicht funktioniert (warum auch immer), wollte ich das Heise-Script einbinden, soweit vorneweg. Ja, dieser Script soll nur im Artikel auftauchen, nicht auf Übersichtsseiten. Die Daten des Scripts habe ich in das Template-Verzeichnis gespeichert, das dachte ich mir schon, dass das dahin gehört.

Vielen Dank für Eure Hilfe, ich habe das mal eingebunden, es geht aber immer noch nicht, das Script wird nicht einmal angezeigt.

In der INDEX.TPL steht nun

Code: Select all

  <script type="text/javascript" src="{$serendipityHTTPPath}templates/{$template}/jquery.socialshareprivacy.js"></script>
  <script type="text/javascript">{literal}
    jQuery(document).ready(function($){
      if($('#socialshareprivacy').length > 0){
        $('#socialshareprivacy').socialSharePrivacy(); 
      }
    });
  {/literal}</script>
In der ENTRIES.TPL steht nun

Code: Select all

<script>{literal}
jQuery(document).ready(function($){
      if($('#socialshareprivacy').length > 0){
    facebook : {
      'perma_option': 'off'
    }, 
    twitter : {
        'status' : 'off'
    },
    gplus : {
      'display_name' : 'Google Plus'
    }
  },
  'cookie_domain' : 'hadley.de'
});
     {/literal}</script>   
Wie gesagt, es geht nicht.
mfg
Hadley
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Facebook: 2Klick Lösung von Heise

Post by yellowled »

HadleyB wrote:Vielen Dank für Eure Hilfe, ich habe das mal eingebunden, es geht aber immer noch nicht, das Script wird nicht einmal angezeigt.
Du hast das Plugin und den initialen Scriptaufruf (der wirklich nicht sein muss, wenn es doch ohnehin nur auf Eintragsseiten ausgegeben wird) ziemlich weit oben im <head> eingebunden. Das hat zur Folge, dass das Plugin aufgerufen wird, ehe jQuery überhaupt bereit steht. Übliche Praxis ist es (das funktioniert in s9y auch), sowas vor dem schließenden </body> einzubinden. Außerdem ist Dein „zweiter Aufruf“ von socialshareprivacy keiner, Du kippst nur die Optionen rein. Das funktioniert so aber nicht.

Also in der – Achtung! – index.tpl:

Code: Select all

{if $view == 'entry'}
<script type="text/javascript" src="{$serendipityHTTPPath}templates/{$template}/jquery.socialshareprivacy.js"></script>
<script>{literal}
jQuery(document).ready(function($){
  if($('#socialshareprivacy').length > 0){
    $('#socialshareprivacy').socialSharePrivacy({
      services : {
        facebook : { 'perma_option': 'off' }, 
        twitter : { 'status' : 'off' },
        gplus : { display_name' : 'Google Plus' }
      },
      'cookie_domain' : 'hadley.de'
    });
  }
});
{/literal}</script>
{/if}
</body>
</html>
Sollte gehen. Der Smarty-Code {if…}…{/if} sorgt dafür, dass socialshareprivacy nur auf Eintragsseiten eingebunden wird, obwohl das Ganze in der index.tpl steht.

YL
HadleyB
Regular
Posts: 837
Joined: Sat Feb 11, 2006 11:47 pm

Re: Facebook: 2Klick Lösung von Heise

Post by HadleyB »

Danke für Deine Mühe, aber das funktioniert wieder nicht:

http://www.hadley.de/cms/archives/12771 ... Daten.html

Das Script steht nun ganz unten, es wird aber nichts angezeigt.
mfg
Hadley
Post Reply