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...
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.
Das sieht wirklich gut aus! Allen denen Shariff nichts sagt, sei der c't-Artikel "Social Media Buttons datenschutzkonform nutzen" auf heise.de empfohlen.
Wenn man im template nach Code: <div class="shariff" noch Code: data-lang="{$smarty.session.language_code}" eingibt, dann wird es auch mehrsprachig.
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.
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.
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. ?>*/
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="["facebook","twitter","whatsapp","googleplus","pinterest","mail"]" 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?
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?
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">ca. 1-2 Tage</span></span> <a 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</span> Stü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="["facebook","twitter","whatsapp","googleplus","pinterest","mail"]" 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"> <!-- --> </div> <div id="gm_attribute_images" style="text-align: center;"></div> </div>
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} <a 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"> <!-- --> </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="["facebook","twitter","whatsapp","googleplus","pinterest","mail"]" 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_QUANTITY} disabled="disabled"{/if} /> {if $PRODUCTS_QUANTITY_UNIT}<label for="gm_attr_calc_qty" class="products_quantity_unit" id="gm_attr_calc_qty_unit"> {$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>
aktualisierst du mal bitte dann den download im 1. beitrag? Damit da immer das aktuellste ist. Danke.
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.
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.
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.
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.
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?