Modul Shariff social share buttons statt 2-click

Thema wurde von sirtet, 22. Mai 2015 erstellt.

  1. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Warum Shariff?
    Weil, die ausgegrauten share-buttons sind mir zu unauffällig, und den Schalter fand noch genau keiner meiner Testuser, wenn ich sagte "geh mal einen Artikel liken/sharen"...

    Ich hab das schon mal als Featurewunsch angebracht, aber das kann ja dauern...
    Darum mal meine eigene Lösung für wen's interessiert.
    Weiterentwicklung erwünscht...

    Dateien hochladen, bei einem Artikel auf das neue Template standard-USERMOD.html umschalten, Cache löschen, und es sollte klappen.

    Ich hab einfach mal alles im actions div rausgeschmissen, das muss man noch anpassen, je nach dem was man davon braucht.
    Und dann natürlich die gewünschten share buttons.

    Bei meinem 2.0.15 shop brauche ich das shariff.complete.js, auf 2.1 genügt das shariff.min.js
    Ladezeit kann man verbessern indem man das min.css nimmt, dann gibts aber keine Icons.
    Und das alte JS entfernen sollte man auch können, da hab ich aber grad noch Probleme damit...
     

    Anhänge:

  2. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    UPDATE: Achtung, bei meinem 2.0.15 Shop beisst sich das shariff.complete.js mit dem Checkout, ich habe es nun über das Temple mit {fetch} geladen, so dass es beim Checkout nicht auch geladen wird.
     
  3. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.699
    Danke erhalten:
    889
    Danke vergeben:
    288
  4. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.699
    Danke erhalten:
    889
    Danke vergeben:
    288
    Wenn man im template nach
    Code:
    <div class="shariff"
    
    noch
    Code:
    data-lang="{$smarty.session.language_code}"
    
    eingibt, dann wird es auch mehrsprachig.
     
  5. soprao

    soprao Erfahrener Benutzer

    Registriert seit:
    26. Februar 2015
    Beiträge:
    160
    Danke erhalten:
    18
    Danke vergeben:
    28
    Sieht sehr schick aus, vielen Dank sirtet!

    Ich hatte es auch endlich zum Laufen bekommen, nachdem ich gemerkt hatte, dass der Multislider damit nicht kompatibel ist. Hab den Multislider dann aus usermod/javascript/global sowie aus user_class entfernt, da ich ihn eh nicht mehr brauche.
     
  6. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Generell schlauer ist natürlich, die JS Datei statt in den Ordner /Global in /ProductInfo zu legen.
    Dann wird's auch unter 2.1 und höher nur da geladen, wo es gebraucht wird.
     
  7. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Gelöst, einfach eine leere Datei templates/EyeCandy/javascript/social_share_plugin-USERMOD.js anlegen, oder ev. mit einem Kommentar versehen:
    PHP:
    /* social_share_plugin.js <?php 
    #   -------------------------------------------------------------- 
    #   social_share_plugin.js 2012-09-24 tb@gambio 
    #   Gambio GmbH 
    #   http://www.gambio.de 
    #   Copyright (c) 2012 Gambio GmbH 
    #   Released under the GNU General Public License (Version 2) 
    #   [http://www.gnu.org/licenses/gpl-2.0.html] 
    #   -------------------------------------------------------------- 

    // No JS needed here, sharing done by Shariff now. 
    // Need to keep this file, to be update-proof. 

    ?>*/
     
  8. soprao

    soprao Erfahrener Benutzer

    Registriert seit:
    26. Februar 2015
    Beiträge:
    160
    Danke erhalten:
    18
    Danke vergeben:
    28
    Hallo zusammen,

    ich versuche gerade, die Social Media Buttons auch unter MobileCandy zu installieren. Allerdings stehe ich gerade auf dem Schlauch.

    Meine standard-USERMOD.html sieht so aus:
    PHP:
            <!--{if $PRODUCTS_QUANTITY || $SHOW_PRODUCTS_QUANTITY}
            <
    div><div class="product_data_key">{$txt.text_stock}</div> <span class="products_quantity"><span class="products_quantity_value">{$PRODUCTS_QUANTITY}</span> {if $PRODUCTS_QUANTITY_UNIT}{$PRODUCTS_QUANTITY_UNIT}{else}{$txt.text_pieces}{/if}</span></div>
            {/if}-->
            <
    script type="text/javascript" src="templates/MobileCandy/usermod/javascript/Global/shariff.min.js"></script>
            <
    div class="actions">
                <
    div class="shariff" data-backend-url="{$smarty.const.DIR_WS_CATALOG}shariff-backend/" data-services="[&quot;facebook&quot;,&quot;twitter&quot;,&quot;whatsapp&quot;,&quot;googleplus&quot;,&quot;pinterest&quot;,&quot;mail&quot;]" data-mail-url="mailto:" data-media-url="{$smarty.const.HTTP_SERVER}{$smarty.const.DIR_WS_CATALOG}{$images.0.ZOOM_IMAGE}"></div>
            </
    div>
            {if 
    $MODULE_graduated_price !=''}
    Die Einbindung der Scriptes muss ich hier machen, da über den usermod/javascript/Global es nicht automatisch erfolgt.

    Doch aus irgendeinem Grund möchte der Browser die Buttons nicht laden. Ich habe alles doppelt und dreifach überprüft: URL der Scripte, standard-USERMOD.html usw.

    Das Script an sich wird auch aufgerufen (kein 404 Error in der Konsole), deswegen wundert es mich, warum hier nichts passiert. Hat jemand einen Tipp?
     
  9. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    blöde frage aber: Sind die Ausgabe DIV (div class="shariff") den im Quelltext drinnen? Also werden die ausgegeben? Und sichtbar? Nicht das die ein anderer DIV überlagert?
     
  10. soprao

    soprao Erfahrener Benutzer

    Registriert seit:
    26. Februar 2015
    Beiträge:
    160
    Danke erhalten:
    18
    Danke vergeben:
    28
    Es gibt keine blöden Fragen =)

    Aus CSS Sicht ist alles sauber. Hab vorsichtshalber mal die css dateien direkt eingebunden. leider auch ohne erfolg. So siehts dann im Quellcode aus:
    PHP:
    <div class="content_container product_data">
                                <
    div><div class="product_data_key">Art.Nr.:</div> <span class="products_model">376671</span></div>
                                <
    div><div class="product_data_key">Lieferzeit:</div> <span class="shipping_time"><img src="admin/images/icons/green.png" alt="ca. 1-2 Tage"> <span class="products_shipping_time_value">ca1-2 Tage</span></span> <class="abroad_shipping_info_link ui-link" href="http://mcmediaonline.de/de/info/Versand-und-Zahlungsbedingungen.html" data-ajax="false" data-corners="false">(Ausland abweichend)</a></div>
                    <!--        <
    div><div class="product_data_key">Lagerbestand:</div> <span class="products_quantity"><span class="products_quantity_value">25</spanSt&uuml;ck</span></div>
            -->
            <
    link rel="stylesheet" href="templates/MobileCandy/usermod/css/shariff.css" type="text/css">
            <
    link rel="stylesheet" href="templates/MobileCandy/usermod/css/shariff.complete.css" type="text/css">
            <
    script type="text/javascript" src="templates/MobileCandy/usermod/javascript/Global/shariff.min.js"></script>
            <
    div class="actions">
                <
    div class="shariff" data-backend-url="/shariff-backend/" data-services="[&quot;facebook&quot;,&quot;twitter&quot;,&quot;whatsapp&quot;,&quot;googleplus&quot;,&quot;pinterest&quot;,&quot;mail&quot;]" data-mail-url="mailto:" data-media-url="http://mcmediaonline.de/images/product_images/original_images/376671.jpg" style="
        display: table;
    "
    ></div>
            </
    div>
                    <
    div style="clear:both"> <!-- &nbsp; --> </div>
            

            
            <
    div id="gm_attribute_images" style="text-align: center;"></div>
        </
    div>
     
  11. soprao

    soprao Erfahrener Benutzer

    Registriert seit:
    26. Februar 2015
    Beiträge:
    160
    Danke erhalten:
    18
    Danke vergeben:
    28
    Problem gelöst: Das shariff.min verträgt sich nicht mit der vorhandenen jquery version (1.7.2).

    Aus diesem Grund muss man die shariff.complete.js laden, die in den Ordner usermod/javascript/Global kopieren und dann über

    PHP:
    <script type="text/javascript" src="templates/MobileCandy/usermod/javascript/Global/shariff.complete.js"></script>
    ganz am Ende der standard.html einbinden.

    Der Vollständigkeit halber hier meine komplette standard-USERMOD.html

    PHP:
    {load_language_text section="product_info"}
    {
    load_language_text section="buttons" name="button"}
    {
    load_language_text section="mobile_template" name="mobile"}

    <
    form name="{$FORM_NAME}id="{$FORM_NAME}action="{$FORM_ACTION_URL}method="{$FORM_METHOD}">
        
        <
    h1>{$PRODUCTS_NAME}</h1>
        
        {if 
    $images|@count 0}
            <
    div class="gallery">
                <
    div class="big_img">
                    <
    div id='image_slider' {if $images|@count 1}class='swipe'{/if}>
                        <
    div {if $images|@count 1}class='swipe-wrap'{/if}>
                            {foreach 
    name=images item=images_data from=$images}
                                <
    div><a href="{$images_data.ZOOM_IMAGE}rel="external" onclick="return false;"><img src="{$images_data.IMAGE}alt="" /></a></div>
                            {/foreach}
                        </
    div>
                    </
    div>
                </
    div>
                {if 
    $images|@count 1}
                    <
    div class="thumbnails">
                        {foreach 
    name=thumbnails item=thumbnails_data from=$thumbnails}
                            <
    div class="thumbnail">
                                <
    a href="{$thumbnails_data.INFO_IMAGE}rel="{$thumbnails_data.ZOOM_IMAGE}">
                                    <
    img src="{$thumbnails_data.IMAGE}alt="" />
                                </
    a>
                            </
    div>
                        {/foreach}
                    </
    div>
                {/if}
            </
    div>
        {/if}
        
        <
    div class="content_container product_data">
            {if 
    $PRODUCTS_FSK18=='true'}
                <
    img align="right" style="padding: 0 0 20px 20px" src="{$tpl_path}img/fsk18.gif" alt="FSK 18" />
            {/if}
            {if 
    $PRODUCTS_MODEL!='' || $SHOW_PRODUCTS_MODEL}
                <
    div><div class="product_data_key">{$txt.text_model}</div> <span class="products_model">{$PRODUCTS_MODEL}</span></div>
            {/if}
            {if 
    $SHIPPING_NAME || $SHOW_SHIPPING_TIME}
                <
    div><div class="product_data_key">{$txt.text_shippingtime}</div> <span class="shipping_time">{if $SHIPPING_IMAGE}<img src="{$SHIPPING_IMAGE}alt="{$SHIPPING_NAME}/>{/if} <span class="products_shipping_time_value">{$SHIPPING_NAME}</span></span>{if $ABROAD_SHIPPING_INFO_LINK_ACTIVE} <class="abroad_shipping_info_link" href="{$ABROAD_SHIPPING_INFO_LINK}">({$txt.text_abroad_shipping_info})</a>{/if}</div>
            {/if}
            <!--{if 
    $PRODUCTS_QUANTITY || $SHOW_PRODUCTS_QUANTITY}
            <
    div><div class="product_data_key">{$txt.text_stock}</div> <span class="products_quantity"><span class="products_quantity_value">{$PRODUCTS_QUANTITY}</span> {if $PRODUCTS_QUANTITY_UNIT}{$PRODUCTS_QUANTITY_UNIT}{else}{$txt.text_pieces}{/if}</span></div>
            {/if}-->



            {if 
    $MODULE_graduated_price !=''}
                <
    div>{$MODULE_graduated_price}</div>
            {/if}
            <
    div style="clear:both"> <!-- &nbsp; --> </div>
            {
    $properties_selection_form}
            {
    $MODULE_product_options}
            <
    div id="gm_attribute_images" style="text-align: center;"></div>
        </
    div>
        <!-- 
    Social Media Buttons
            
    <div class="content_container">
                <
    link rel="stylesheet" href="templates/MobileCandy/usermod/css/shariff.complete.css" type="text/css">
                <
    div class="shariff" data-backend-url="{$smarty.const.DIR_WS_CATALOG}shariff-backend/" data-services="[&quot;facebook&quot;,&quot;twitter&quot;,&quot;whatsapp&quot;,&quot;googleplus&quot;,&quot;pinterest&quot;,&quot;mail&quot;]" data-mail-url="mailto:" data-media-url="{$smarty.const.HTTP_SERVER}{$smarty.const.DIR_WS_CATALOG}{$images.0.ZOOM_IMAGE}"></div>
            </
    div>
        -->
        <
    div id="product_tabs_group">
            <
    div class="description tabs" style="display: none;">
                <
    div id="description-1">
                    {if 
    $PRODUCTS_DESCRIPTION !=''}{$PRODUCTS_DESCRIPTION}{/if}
                </
    div>
            </
    div>
            {if 
    $MODULE_products_media != ''}
            <
    div class="tab_element" data-role="collapsible" data-collapsed="true" data-iconpos="right">
                <
    h3>{$mobile.documents}</h3>
                <
    div>{$MODULE_products_media}</div>
            </
    div>
            {/if}
            {if 
    $MODULE_cross_selling != '' || $MODULE_reverse_cross_selling != ''}
            <
    div data-role="collapsible" data-collapsed="true" data-iconpos="right">
                <
    h3>{$mobile.recommendations}</h3>
                <
    div>{$MODULE_cross_selling}{if $MODULE_reverse_cross_selling != ''}{$MODULE_reverse_cross_selling}{/if}</div>
            </
    div>
            {/if}
            {if 
    $MODULE_also_purchased != ''}
            <
    div data-role="collapsible" data-collapsed="true" data-iconpos="right">
                <
    h3>{$mobile.also_purchased}</h3>
                <
    div>{$MODULE_also_purchased}</div>
            </
    div>
            {/if} 
            {if 
    $MODULE_products_reviews != ''}
            <
    div data-role="collapsible" data-collapsed="true" data-iconpos="right">
                <
    h3>{$mobile.product_reviews}</h3>
                <
    div>{$MODULE_products_reviews}</div>
            </
    div>
            {/if}
        </
    div>
        
        <
    div class="price-container bg_container">
            <
    span class="price" id="gm_attr_calc_price">{$PRODUCTS_PRICE}{if $PRODUCTS_VPE}<br /><span class="tax-shipping-text gm_products_vpe">{$PRODUCTS_VPE}</span><br />{/if}</span>{if !$PRODUCTS_VPE}<br />{/if}
            {if 
    $ADD_CART_BUTTON && !$GM_GPRINT}
                <
    span class="tax-shipping-text">{$PRODUCTS_TAX_INFO}{$PRODUCTS_SHIPPING_LINK|replace:"popup_content":"shop_content"|replace:"_blank":""|replace:"lightbox_mode=1":""}</span><br />
                <
    br />                            
                <
    div id="details_cart_part" style="{if $GM_GPRINT} display: none;{/if}">
                    {if 
    $QUANTITY}
                        <
    div class="quantity_wrapper">
                            <
    div class="quantity_changer_less"></div>
                            <
    div class="quantity_changer_more"></div>
                            <
    span class="quantity_container{if !$PRODUCTS_QUANTITY_UNIT} full{/if}"
                                <
    input type="text" id="gm_attr_calc_qty" class="products_quantity" name="products_qty" value="{$QUANTITY}"{if $DISABLED_QUANTITYdisabled="disabled"{/if} />
                                {if 
    $PRODUCTS_QUANTITY_UNIT}<label for="gm_attr_calc_qty" class="products_quantity_unit" id="gm_attr_calc_qty_unit">&nbsp;{$PRODUCTS_QUANTITY_UNIT}</label>{/if}
                                <
    div class="clear_both"> <!-- --> </div>
                            </
    span>
                            <
    div class="clear_both"> <!-- --> </div>
                        </
    div>
                    {/if}
                    <
    a href="{page_url}#" data-role="button" data-theme="b" id="cart_button" class="button_details_add_cart{if $DEACTIVATE_BUTTON == true} inactive{/if}">{$mobile.add_to_cart}</a>
                    <!--{if 
    $ADD_WISHLIST_BUTTON}<a href="{page_url}#" id="gm_wishlist_link" data-role="button" class="button_details_add_wishlist">{$button.add_to_wishlist}</a>{/if}-->
                    <
    input type="hidden" name="products_id" id="gm_products_id" value="{$PRODUCTS_ID}/>
                    <
    input type="hidden" name="submit_target" value="cart" />
                    <
    div id="details_qty_advice">
                        <
    div id="gm_checker_error_{$PRODUCTS_ID}">
                        {if 
    $GM_MIN_ORDER}
                            {
    $txt.text_min_order}<span class="quantity_min_order">{$GM_MIN_ORDER}</span><br />
                        {/if}
                        {if 
    $GM_GRADUATED_QTY}
                            {
    $txt.text_graduated_qty_1}<span class="quantity_steps">{$GM_GRADUATED_QTY}</span>{$txt.text_graduated_qty_2}
                        {/if}
                        </
    div>
                    </
    div>
                    {if 
    $SHOW_PRODUCTS_WEIGHT}
                    <
    div id="details_products_weight">
                        {
    $txt.text_weight} <span id="gm_calc_weight">{$PRODUCTS_WEIGHT}</span> {$txt.text_weight_unit}
                    </
    div>
                    {/if}
                </
    div>
            {else}
                <
    div class="errorText">{$mobile.cant_buy_product}</div>            
                <
    input type="hidden" name="products_id" id="gm_products_id" value="{$PRODUCTS_ID}/>
            {/if}
        </
    div>
    </
    form>
            <
    script type="text/javascript" src="templates/MobileCandy/usermod/javascript/Global/shariff.complete.js"></script>
     
  12. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    aktualisierst du mal bitte dann den download im 1. beitrag? Damit da immer das aktuellste ist. Danke.
     
  13. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.699
    Danke erhalten:
    889
    Danke vergeben:
    288
    Macht das Sinn, wenn die Änderungen nur für 2.0. notwendig sind?
     
  14. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    sind ja auch fürs MC sachen dazugekommen.
    Auch wäre ne info txt im paket gut mit install anleitung.
     
  15. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Ich habe gerade zusammen mit "unserem" Händlerbund-Juristen die Datenschutzerklärung für Social Media à la "Shariff" konzipiert, die Gegebenheiten damit unterscheiden sich doch erheblich von den bisherigen Versionen der Datenschutz-Hinweise.

    Die werden wohl demnächst freigegeben.
     
  16. uncutmovie.de

    uncutmovie.de Erfahrener Benutzer

    Registriert seit:
    11. März 2014
    Beiträge:
    313
    Danke erhalten:
    19
    Danke vergeben:
    14
    Hallo,
    ich habe wie oben beschrieben Shariff in meine Artikelseite implementiert sowie alle Dateien auf dem Server hinzugefügt.
    Bei mir werden leider die Share-Counts nicht angezeigt.

    Ich suche schon seit Stunden den Fehler und kann ihn leider nicht finden.
     
  17. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Vielleicht gibt es noch keine Counts für den Artikel, dann wird nichts angezeigt.
     
  18. uncutmovie.de

    uncutmovie.de Erfahrener Benutzer

    Registriert seit:
    11. März 2014
    Beiträge:
    313
    Danke erhalten:
    19
    Danke vergeben:
    14
    Hallo Avenger,
    vom Autor dieses Thread haben einige Artikel auch noch keine Counts und dort steht dann "null". Bei mir erscheint noch nicht mal irgendeine Zahl. Wenn ich einen Artikel test-weise share erscheint auch keine counts.
     

    Anhänge:

  19. MP Solution

    MP Solution Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Hier wurde ein Part in der "shariff JSON-Datei" wohl vergessen einzutragen. Dort muss unter Domain auch die URL eingetragen werden, dann sollte es funktionieren.
     
  20. uncutmovie.de

    uncutmovie.de Erfahrener Benutzer

    Registriert seit:
    11. März 2014
    Beiträge:
    313
    Danke erhalten:
    19
    Danke vergeben:
    14
    Das habe ich getan. Aber es funktioniert denn noch nicht. Kann es daran liegen, dass mein Shop in einem Unterordner ist? Muss ich dann diesen Unterordner auch in die shariff.json eintragen?