Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: Facebook, Twitter & Google+ datenschutzkonform mit Shariff

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.185
    • Geschlecht:
    Die letzte Zeile ist der Fallback, wenn keine Kurzbeschreibung verfügbar ist.

    Vergleiche:
    $sm_s_desc != ''
    vs
    $sm_s_desc == ''

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Tsts, so ein kleines Ausrufezeichen, wer soll das denn sehen  :tomato:

    Den Code sollte man veilleicht mal übersichtlicher und weniger redundant aufbauen.
    Auch fehlt da noch ein Fallback wenn die Artikelbeschreibung leer ist. Wenn man bei der Kurzbeschreibung das explizit prüft warum nicht auch bei der Lang-Beschreibung ?
    Code: PHP  [Auswählen]
    <?php
    if (MODULE_SOCIAL_BUTTON_CONTENT == 'true') {
        $shrt_desc = strlen($sm_s_desc) > 180) ? substr($sm_s_desc, 0, 180) : $sm_s_desc; //*korrigiert, noRiddle*
        $long_desc = strlen($sm_p_desc) > 180) ? substr($sm_p_desc, 0, 180) : $sm_p_desc;
       
        if(MODULE_SOCIAL_BUTTON_CONTENT_SWITCH == 'Artikelbeschreibung' && $sm_p_desc != '') {
    ?>
          <meta name="twitter:description" content="<?php echo $long_desc; ?>" />
    <?php
        } elseif (MODULE_SOCIAL_BUTTON_CONTENT_SWITCH == 'Kurzbeschreibung') {
            if($sm_s_desc != '') {
    ?>
              <meta name="twitter:description" content="<?php echo $shrt_desc; ?>" />
    <?php
            } elseif($long_desc != '') {
    ?>
              <meta name="twitter:description" content="<?php echo $long_desc; ?>" />
    <?php
            }
        }
    }
    ?>

    Evtl. noch die Configuratuion-Einstellung META_DESCRIPTION_LENGTH anstatt hard-codierte 180 für die Länge der Metas benutzen ?

    Gruß,
    Oli (aka noRiddle)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.185
    • Geschlecht:
    Schau dir mal bitte nochmal deinen Code an. Da bist du irgendwie mit $sm_p_desc und $sm_s_desc ein wenig durcheinander gekommen.

    Für mich liest sich der Code, so wie er ist, eigentlich ganz gut und auch logisch. Die Artikelbeschreibung ist ja immer vorhanden - anders als die Kurzbeschreibung.

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Wo jetzt ?  :flee-mrgreen:

    Naja, jedesmal
    Code: PHP  [Auswählen]
    if (MODULE_SOCIAL_BUTTON_CONTENT == 'true'

    abzufragen ist schon redundant.
    *EDIT* und jedesmal nach strlen() fragen ebenso. *END_EDIT*

    ich weiß leider nicht ob Fratzenbuch eigene Regeln für Meta-tags hat, aber was ist denn mit META_DESCRIPTION_LENGTH ?

    Gruß,
    noRiddle

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.185
    • Geschlecht:
    Na dann eben auch gerne so:

    Code: PHP  [Auswählen]
        <?php if (MODULE_SOCIAL_BUTTON_CONTENT == 'true') { ?>
          <?php if (MODULE_SOCIAL_BUTTON_CONTENT_SWITCH == 'Artikelbeschreibung') { ?>
            <meta property="og:description" content="<?php echo (strlen($sm_p_desc)>180) ? substr($sm_p_desc, 0, 180) : $sm_p_desc; ?>" />
          <?php } elseif (MODULE_SOCIAL_BUTTON_CONTENT_SWITCH == 'Kurzbeschreibung' && $sm_s_desc != '') { ?>
            <meta property="og:description" content="<?php echo (strlen($sm_s_desc)>180) ? substr($sm_s_desc, 0, 180) : $sm_s_desc; ?>" />
          <?php } elseif (MODULE_SOCIAL_BUTTON_CONTENT_SWITCH == 'Kurzbeschreibung' && $sm_s_desc == '') { ?>
            <meta property="og:description" content="<?php echo (strlen($sm_p_desc)>180) ? substr($sm_p_desc, 0, 180) : $sm_p_desc; ?>" />
          <?php } ?>
        <?php } ?>

    META_DESCRIPTION_LENGTH steht in der aktuellen Shopversion auf 156 Zeichen gemäß einer SEO-Empfehlung. Facebook ist aber in der Lage 180 Zeichen auszuwerten, daher würde ich den Code auch genau so hardcodiert mit der 180 lassen.
    Es scheint sogar so zu sein, dass Facebook bei der og_description jetzt überhaupt keine Limitierung mehr hat, siehe dazu: Webmaster - Teilen - Dokumentation - Facebook for Developers
    Entsprechend könnte man den Code auch schreiben:

    Code: PHP  [Auswählen]
        <?php if (MODULE_SOCIAL_BUTTON_CONTENT == 'true') { ?>
          <?php if (MODULE_SOCIAL_BUTTON_CONTENT_SWITCH == 'Artikelbeschreibung') { ?>
            <meta property="og:description" content="<?php echo $sm_p_desc; ?>" />
          <?php } elseif (MODULE_SOCIAL_BUTTON_CONTENT_SWITCH == 'Kurzbeschreibung' && $sm_s_desc != '') { ?>
            <meta property="og:description" content="<?php echo $sm_s_desc; ?>" />
          <?php } elseif (MODULE_SOCIAL_BUTTON_CONTENT_SWITCH == 'Kurzbeschreibung' && $sm_s_desc == '') { ?>
            <meta property="og:description" content="<?php echo $sm_p_desc; ?>" />
          <?php } ?>
        <?php } ?>

    Aber das sollte vorher lieber einmal getestet werden, ob es da wirklich keine Zeichenbegrenzung gibt.

    Grüße

    Torsten

    RobtheTop

    • Schreiberling
    • Beiträge: 332
    Danke @Tomcraft  :thumbs:

    Jetzt funktioniert es.
    Wurde das schon in dem Thread behandelt?
    Ich hab gestern alles gelesen, anscheinend habe ich genau den Part übersehen.

    Eine Frage hätte ich noch.
    Was hat es mit der Facebook ID auf sich? Was bringt es, wenn ich die Einstellungen im Modul mache?

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.185
    • Geschlecht:
    [...]
    Jetzt funktioniert es.
    Wurde das schon in dem Thread behandelt?
    Ich hab gestern alles gelesen, anscheinend habe ich genau den Part übersehen.
    [...]

    Keine Ahnung. Ich habe mir das nur kurz im Code angeschaut und dann das Problem gesehen und korrigiert.

    [...]
    Eine Frage hätte ich noch.
    Was hat es mit der Facebook ID auf sich? Was bringt es, wenn ich die Einstellungen im Modul mache?

    Wenn du die einträgst, dann wird noch folgende META-Angabe bei dir ergänzt:

    Code: PHP  [Auswählen]
    <meta property="fb:app_id" content="<?php echo trim(MODULE_SOCIAL_FB_BUTTON_APP_ID); ?>" />

    Vermutlich wirst du dann besser tracken können, aber ist nur eine Vermutung.

    Grüße

    Torsten

    karsta.de

    • Experte
    • Beiträge: 3.048
    Bin nicht mehr auf dem neuesten Stand was Facebook betrifft, aber die hatte ich damals mit eingefügt, da man dafür in Facebook eine eigene Aktion, Kampagne, Verknüpfung im Facebookkonto anlegen musste, um die Website, den Shop mit Facebook zu verbinden. Ob und wie das heute sein muss, kannst du in deinem Facebookaccount in Erfahrung bringen.

    BG Karsta

    RobtheTop

    • Schreiberling
    • Beiträge: 332
    [...]
    Keine Ahnung. Ich habe mir das nur kurz im Code angeschaut und dann das Problem gesehen und korrigiert.
    [...]

    Krass! :-o

    Wie kann man es nur so drauf haben?!
    Angeschaut und direkt gesehen.
    Unglaublich.
    Danke dir.

    Zwecks ID schaue ich mir das mal an. Aber bisher lief alles wie es soll.
    Danke

    sandro22

    • Viel Schreiber
    • Beiträge: 589
    • Geschlecht:
    Abend zusammen.

    Mir ist gerade in meinem Shop aufgefallen, dass als Gast die Buttons nicht angezeigt werden bei den Produkten.

    Muss das so sein, oder habe ich irgendwo wieder eine Einstellung übersehen oder wurde das hier sogar schon behandelt und ich habe es nicht gesehen?

    www.felchen-shop.ch

    gruss sandro

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.743
    • Geschlecht:
    Nicht ins Produkt-Template eingebaut ?
    Außerdem hast du die nicht minified-Version eingebunden und somit zweimal die jQuery-Basis.
    Die Anleitung genau lesen könnte helfen.

    Ich würde dir raten dich mal von einem Fachmann beraten zu lassen.
    Allein wenn ich sehe, daß dein Haupt-Logo im Header bei mir im Firefox zeilenweise lädt, weil die Grafik unfassbare 2736px x 1660px und 1,51 MB groß ist...

    Gruß,
    noRiddle

    sandro22

    • Viel Schreiber
    • Beiträge: 589
    • Geschlecht:
    Habe es im Produkt- Template eingebaut. jedoch wird es als Gast nicht angezeigt.

    Und das logo ist jetzt auch kleiner.

    [EDIT Tomcraft 20.04.2021: Full-Quote entfernt, siehe: FAQ: Full-Quotes und Groß-/Kleinschreibung - mit anderen Worten Netiquette!]

    Roberto75

    • Viel Schreiber
    • Beiträge: 833
    Folgende Warnmeldung kommt nach dem Umstellen auf PHP 8.0:

    Code: PHP  [Auswählen]
    Undefined variable $sm_code in File: /www/htdocs/.../.../includes/extra/default/center_modules/socialmedia_button.php on Line: 15

    Die Zeile lautet:

    Code: PHP  [Auswählen]
    $sm_code .= '<div class="shariff" data-theme="'.$sm_theme.'" data-backend-url="'.$sm_data_backend.'" data-orientation="'.$sm_orientation.'" data-services="['.MODULE_SOCIAL_BUTTON_SITES.']" data-title="'.$sm_pname.'" data-url="'.$sm_purl.'" data-lang="'.$lang.'" data-mail-subject="'.$sm_pname.'" data-mail-body="'.$sm_purl.'" data-mail-url="mailto:" data-media-url="'.$sm_pimage.'"></div>';

    Wie kann ich das beheben?

    Gruß

    Robert

    karsta.de

    • Experte
    • Beiträge: 3.048
    Ersetze mit:

    Code: PHP  [Auswählen]
    $sm_code = '';
    $sm_code .= '<div class="shariff" data-theme="'.$sm_theme.'" data-backend-url="'.$sm_data_backend.'" data-orientation="'.$sm_orientation.'" data-services="['.MODULE_SOCIAL_BUTTON_SITES.']" data-title="'.$sm_pname.'" data-url="'.$sm_purl.'" data-lang="'.$lang.'" data-mail-subject="'.$sm_pname.'" data-mail-body="'.$sm_purl.'" data-mail-url="mailto:" data-media-url="'.$sm_pimage.'"></div>';

    Roberto75

    • Viel Schreiber
    • Beiträge: 833
    Danke für die Antwort, die Warnmeldung kommt nach der Änderung aber immer noch.
    513 Antworten
    233498 Aufrufe
    06. Juni 2020, 12:18:56 von profrolfwolf
    1 Antworten
    5537 Aufrufe
    06. August 2011, 12:08:25 von Tomcraft
    3 Antworten
    4779 Aufrufe
    16. Mai 2012, 13:34:40 von WayneTsun
    3 Antworten
    3717 Aufrufe
    11. Dezember 2013, 11:20:05 von Bonner
               
    anything