Patch für Button Lösung

  • Hallo Zusammen,

    ab August muss der Bestellablauf an die neuen gesetzlichen Rahmenbedingungen angepasst werden. Gibt es hierzu bereits einen Patch, mit dem der Ablauf gesetzeskonform gestaltet werden kann?

    Vielen Dank im Voraus.

    bama

  • Ich habe mal folgendes Tutorial zur Umstellung des Shops auf die ab dem 01.08.2012 geltende Buttonlösung zusammengefasst:

    Vorliegendes Tutorial beschreibt nur die technische notwendigen Änderungen im Shop Code und ersetzt bzw. ist keine Rechtsberatung!

    In der aktuellen Version des Shops 2.1 (Die anderen Versionen kenne ich nicht) ist der Button zum endgültigen Abschluß einer Bestellung mit dem Namen "Bestellen" beschriftet.
    Dies ist ab 01. August 2012 nicht mehr zulässig.


    Zitat:
    [INDENT]
    Eindeutige Bezeichnung des Bestell-Buttons

    Gemäß § 312g Abs. 3 BGB n.F. sind die Unternehmer künftig im elektronischen Geschäftsverkehr beim Abschluss entgeltlicher Verträge mit Verbrauchern verpflichtet,
    den Bestellablauf so zu gestalten, dass der Verbraucher mit seiner Bestellung ausdrücklich bestätigt, dass er sich zu einer Zahlung verpflichtet.
    Der Unternehmer muss also eine ausdrückliche Bestätigung des Verbrauchers abfragen und er sollte diesen Vorgang in seinem eigenen Interesse auch dokumentieren.

    Sofern der Verbraucher zur Abgabe der Bestätigung einen Button bzw. eine Schaltfläche betätigen muss, ist dieser Button auf eine bestimmte Weise zu bezeichnen
    - das ist die eigentliche „Button“-Regelung.

    Der Entwurf des Änderungsgesetzes gibt klare Formulierungen, wie der Bestellbutton umbenannt werden darf.

    Zulässig sind danach die folgenden Formulierungen zur Bezeichnung des Bestell-Buttons:

    „zahlungspflichtig bestellen“
    „kostenpflichtig bestellen“
    „zahlungspflichtigen Vertrag schließen“
    „kaufen“

    Laut dem Entwurf des Änderungsgesetzes sind künftig nicht geeignet z.B. die folgenden Bezeichnungen des Bestell-Buttons:
    „Anmeldung“
    „weiter“
    „bestellen“
    „Bestellung abgeben“
    „Bestellung abschließen“

    Auch die Schaltflächenbeschriftung muss gut lesbar sein und es dürfen hier keine weiteren Zusätze hinzugefügt werden.
    Die Ausführungen gelten entsprechend bei der Verwendung von Check-Boxen oder Hyperlinks zur Abfrage der Bestätigung der Kaufentscheidung.


    [/INDENT]Ende Zitat (Quelle: http://www.onlinehaendler-news.de/2012/03/07/ach…-button-losung/)


    Um den abschliessenden Bestell-Button auf "Kaufen" umzustellen sind nachfolgende Aktionen auszuführen.

    • Ersatz der Buttonbeschriftung

      In der Datei:
      lang/german/german.php
      So ungefähr in Zeile 230.

      Suche

      Code
      define('IMAGE_BUTTON_CONFIRM_ORDER', 'Bestellung bestätigen und abschicken');

      und ersetze diesen mit

      Code
      define('IMAGE_BUTTON_CONFIRM_ORDER', 'Kaufen');

      In der Datei:
      lang/english/english.php
      So ungefähr in Zeile 230.

      Suche

      Code
      define('IMAGE_BUTTON_CONFIRM_ORDER', 'Confirm order');

      und ersetze diesen mit

      Code
      define('IMAGE_BUTTON_CONFIRM_ORDER', 'Buy');
    • Änderung des Informationstextes:
      In Datei
      lang/german/lang_german.conf
      Den Abschnitt [checkout_confirmation] suchen.
      So ungefähr in Zeile 344.

      Suche

      Code
      text_information = 'Vor dem Absenden Ihrer Bestellung sehen Sie nochmals die von Ihnen eingegebenen Daten und Produkte, mithilfe der <em><span style="color:#009933">(Bearbeiten)</span></em> Links neben den einzelnen Daten haben Sie nochmals die M&ouml;glichkeit diese zu korrigieren.<br />Den Bestellvorgang k&ouml;nnen Sie jederzeit durch Schliessen des Browser-Fensters beenden, oder durch dr&uuml;cken des <strong>Bestellen</strong>-Buttons abschliessen.'

      Ändern in:

      Code
      text_information = 'Vor dem Absenden Ihrer Bestellung sehen Sie nochmals die von Ihnen eingegebenen Daten und Produkte, mithilfe der <em><span style="color:#009933">(Bearbeiten)</span></em> Links neben den einzelnen Daten haben Sie nochmals die M&ouml;glichkeit diese zu korrigieren.<br />Den Bestellvorgang k&ouml;nnen Sie jederzeit durch Schliessen des Browser-Fensters beenden, oder durch dr&uuml;cken des <strong>Kaufen</strong>-Buttons abschliessen.'



      Genau das Selbe in in englisch:
      Datei lang/english/lang_english.conf
      Abschnitt [checkout_confirmation] suchen.
      So ungefähr in Zeile 330.

      Suche

      Code
      text_information = 'Bevore you confirm your order on this site, you can change your address and products by editing them. Click on <em><font color="#009933">(Edit)</font></em> links to your data).<br />You can cancel your order by closing your browser, or confirm your order by pressing the <b>Confirm Order</b> Button at the end of your product list. '

      Ändern in

      Code
      text_information = 'Bevore you confirm your order on this site, you can change your address and products by editing them. Click on <em><font color="#009933">(Edit)</font></em> links to your data).<br />You can cancel your order by closing your browser, or confirm your order by pressing the <strong>Buy</strong> Button at the end of your product list.'

      Eventuelle Hinweise in der AGB auf den Betsellvorgang ebenfalls abändern, so das im Hinweis auf die Buttonbeschriftung der Name 'Kaufen' verwendet wird.


    • Um eine Artikelbeschreibung bzw. die Kurzbeschreibung in die Checkoutseite aufzunehmen, was ja auch Bestandteil des Gesetzestext ist sind folgende Änderungen nötig:
      • In Datei:
        /includes/classes/order.php
        Ungefähr in Zeile 390

        Suche

        Code
        $this->products[$index] = array('qty' => $products[$i]['quantity'],					    'name' => $products[$i]['name'],	 				    'model' => $products[$i]['model'],

        danach folgenden Code eingeben:

        Code
        'description' => $products[$i]['description'],'short_description' => $products[$i]['short_description'],
      • In Datei:
        /includes/classes/shopping_cart.php in der Funktion get_products()
        Ungefähr in Zeile 320
        Suche
        Code
        $products_query = xtc_db_query("select p.products_id, pd.products_name, p.products_shippingtime, p.products_image, 	p.products_model, p.products_price, p.products_discount_allowed, p.products_weight, p.products_tax_class_id from ".TABLE_PRODUCTS." p, 	".TABLE_PRODUCTS_DESCRIPTION." pd where p.products_id='".xtc_get_prid($products_id)."' and pd.products_id = p.products_id 	and pd.language_id = '".$_SESSION['languages_id']."'");

        ersetze mit diesem Code:

        Code
        $products_query = xtc_db_query("select p.products_id, pd.products_name, pd.products_description, pd.products_short_description, 	p.products_shippingtime, p.products_image, p.products_model, p.products_price, p.products_discount_allowed, p.products_weight, 	p.products_tax_class_id from ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd where p.products_id='".xtc_get_prid($products_id)."' 	and pd.products_id = p.products_id and pd.language_id = '".$_SESSION['languages_id']."'");

        weiter unten, in der gleichen Datei und Funktion, ungefähr in Zeile 330

        Suche

        Code
        $products_array[] = array ('id' => $products_id, 							   'name' => $products['products_name'],

        danach, direkt in den Code die beiden neuen Werte wie folgt mit aufnehmen:

        Code
        'description' => $products['products_description'],	'short_description' => $products['products_short_description'],

        So dass die der Code nun so aussieht:

        Code
        $products_array[] = array ('id' => $products_id, 							   'name' => $products['products_name'], 							   'description' => $products['products_description'],							   'short_description' => $products['products_short_description'],
      • In Datei:
        /checkout.php Achtung, hier ist mir ein Fehler unterlaufen, richtig ist die Datei /includes/classes/checkout.php !
        Ungefähr in Zeile 240,
        Suche
        Code
        (ACTIVATE_SHIPPING_STATUS=='true'?'<span class="fs85"><nobr><em>' . SHIPPING_TIME . $order->products[$i]['shipping_time'] . '</em><nobr></span>':'').'<br /><br />'.

        davor eingeben

        Code
        (!empty($order->products[$i]['short_description'])?$order->products[$i]['short_description']:$order->products[$i]['description']). '</strong><br />' .

        Mit dieser Funktion wird die Kurzbeschreibung angezeigt, fehlt diese wird die Beschreibung des Artikels angezeigt - es sollte jedoch bedacht werden, das die Beschreibung kurz gehalten wird
        damit zwischen der Artikelliste und dem Kaufen-Button, während des Checkouts möglichst nicht gescrollt werden muss, es sei denn die Artikelliste ist zu lang.

    • Verschieben des Kaufen Button, direkt unter die Produktliste.
      In Datei:
      /templates/{templateName}/module/checkout.html
      Ungefähr in Zeile 246,
      Suche
      Code
      <div class="checkout_total" id="checkout_total">{$ORDER_TOTAL}</div><br /><div class="left">{$BUTTON_ORDER_BACK}</div><div class="checkout_button">{$HIDDEN_XAJAX}{$BUTTON_ORDER}</div>


      und verschiebe diesen innerhalb dieser Datei weiter nach oben, wie folgt.
      Suche

      Code
      {$FORM_ACTION}


      und füge direkt danach den von weiter unten ausgeschnittenen Code ein.

      Füge gleich im Anschluss zusätzlich zwei Zeilen ein mit Code:

      Code
      <div class="checkout_spacer">&nbsp;</div>


      Das ist nicht Lebensnotwendig, damit wird aber die Seite etwas übersichtlicher und die Sektionen kleben nicht so aufeinander.

      So dass der Code nun so aussieht:

      Code
      {$FORM_ACTION}
      <div class="checkout_total" id="checkout_total">{$ORDER_TOTAL}</div><br />
      <div class="left">{$BUTTON_ORDER_BACK}</div>
      <div class="checkout_button">{$HIDDEN_XAJAX}{$BUTTON_ORDER}</div>
      <div class="checkout_spacer">&nbsp;</div>
      <div class="checkout_spacer">&nbsp;</div>



    Mit der Bitte um Feedback, solltet ihr irgendwelche Fehler finden oder Ergänzungen zum Text haben.

    Grüße Heinz
    Signatur-E

    8 Mal editiert, zuletzt von signatur (8. Juni 2012 um 20:57)

  • Hallo Heinz,

    ich danke dir ganz herzlich für die umfassende und detaillierte Antwort. Ich habe fast alle Änderungen umsetzen können. Da ich noch mit V2 arbeite, konnte ich den letzten Schritt noch nicht umsetzen, da checkout.php Datei nicht im Ordner /module/ liegt. Ich werde mich in den kommenden Tagen noch einmal ransetzen und die Umstellung abschließen.

    Besten Gruß
    bama

  • Hallo zusammen,

    Ich habe den Text eben nochmal überarbeitet, mir ist ein Fehler im letzten Unterpunkt zu Abschnitt 3 unterlaufen, ich habe die Korrektur mit Rot markiert.
    Zudem muss in Abschnitt 4 nicht die Datei /module/checkout.php sondern /templates/{templateName}/module/checkout.html bearbeitet werden.
    Die Änderungen sind alle im Skript oben eingepflegt, so dass dieses wieder konsistent ist.

    Ich habe das Tutorial heute morgen geschrieben, war wohl doch noch etwas zu früh für so was :rolleyes:

    Habe eben nochmal einen Testshop damit modifiziert, der Rest müsste soweit in Ordnung sein.

    Gruß Heinz

    Einmal editiert, zuletzt von signatur (8. Juni 2012 um 20:40)

  • Hallo Heinz,

    ich danke dir ganz herzlich für die umfassende und detaillierte Antwort. Ich habe fast alle Änderungen umsetzen können. Da ich noch mit V2 arbeite, konnte ich den letzten Schritt noch nicht umsetzen, da checkout.php Datei nicht im Ordner /module/ liegt. Ich werde mich in den kommenden Tagen noch einmal ransetzen und die Umstellung abschließen.

    Besten Gruß
    bama

    Hallo bama,

    die Fehlerkorrektur (sieh oben im Skript) müsste evtl. weiterhelfen, wahrscheinlich sind dann auch alle benötigten Dateien in deiner Shopversion auffindbar.

    Gruß Heinz

  • Hallo Heinz,

    ich bin begeistert. Ich habe die Änderungen vorgenommen und alles sieht so aus, wie es sein soll. Ich danke dir für deine schnelle Lösung.

    Besten Gruß
    bama

  • Hallo!
    Ich habe ein Problem:

    Zitat


    In Datei:
    /checkout.php Achtung, hier ist mir ein Fehler unterlaufen, richtig ist die Datei /includes/classes/checkout.php !


    Verschieben des Kaufen Button, direkt unter die Produktliste.
    In Datei:
    /templates/{templateName}/module/checkout.html


    Ich habe diese Dateien so nicht.
    weder in der includes/classes die checkout.php
    noch in templates/module/checkout.html dort habe ich nur die checkout_confimation.html

    wo muß ich dass dann eintragen?

  • Hi tonkelz,

    welche Shop Version hast du denn? Ich selbst habe Version 2.1, Bama, Initiator dieses Themas hat Version 2 und konnte die Änderungen auch nachvollziehen. Probier doch doch mal den offiziellen Fix für die Buttonlösung (auch für Version 2.1), den du hier findest http://www.commerce-seo.de/commerceSEO-v21-CE/, es müsste der QF8 auf der Seite sein.

    Gruß Heinz

  • Hallo!
    Ich habe ein Problem:


    Ich habe diese Dateien so nicht.
    weder in der includes/classes die checkout.php
    noch in templates/module/checkout.html dort habe ich nur die checkout_confimation.html

    wo muß ich dass dann eintragen?

    Beim 2.1.2.9 plus sind die in jedenfall drin

    Also eigentlich beim v2 und v2.1 sollten die drin sein!?

  • Ok ein Shop läuft mit V2.1
    Nun folgende Frage:

    Zitat

    Produktbeschreibung
    „die wesentlichen Merkmale der Ware oder Dienstleistung“


    und was sind die wesentlichen Merkmale? Wer bestimmt dies?


    Zitat

    in räumlicher Nähe zu den Informationen nach Ziff. 2. a)
    (Informationen und Schaltfläche müssen bei üblicher Bildschirmauflösung
    gleichzeitig ohne Scrollen auf einen Blick zu sehen sein).


    Kann man das Template ändern, dass Versandart und Zahlungsart nebeneinander stehen?
    z.Zt ist dies ja so:

    Smarty
    {if $SHIPPING_METHOD}            <div>                <strong>{#text_shipping_method#}</strong><br />                {$SHIPPING_METHOD}<br /><br />                <a href="{$SHIPPING_EDIT}" class="confirmationEdit">{$BUTTON_EDIT}</a>            </div>            <br />                <hr />            <br />            {/if}            {$CHECKOUT_FORM}             {if $PAYMENT_METHOD!=''}            <div>                <strong>{#text_payment_method#}</strong><br />{$PAYMENT_METHOD}<br /><br />                {if $MODULE_BUTTONS!=''} {$MODULE_BUTTONS}<br /><br />{/if}                <a href="{$PAYMENT_EDIT}" class="confirmationEdit">{$BUTTON_EDIT}</a>            </div>

    Also untereinander. Ich hätte dies gerne nebeneinander. Das Scrollen kann ich aber nicht beheben.

    Außerdem zeigt es bei mir die Short_Description nicht an.
    Laut anleitung soll man die checkout.php ändern.
    Ist dies nur bei Ajax-Checkout nötig. Bei mir kommt nämlich die checkout_confirmation.
    Wenn ich es dann so mache:

    Code
    <strong>{#text_products#}</strong> 
    {#text_short_description#}
    <a href="{$PRODUCTS_EDIT}">{$BUTTON_EDIT}</a><br />
                {$PRODUCTS_BLOCK}


    wird die Beschreibung nicht angezeigt.

    Einmal editiert, zuletzt von tonkelz (19. Juni 2012 um 18:56)

  • Ok ein Shop läuft mit V2.1
    Nun folgende Frage:


    und was sind die wesentlichen Merkmale? Wer bestimmt dies?

    Hoffentlich Normale Menschen ;)
    Weil den Anwälte und Richter sind es naturlich nie einig , könnte für den ein Riesengeschäft werden, nur deswegen kein einheitliches vermute ich :(

  • Hoffentlich Normale Menschen ;)
    (


    Das ist wohl ein frommer Wunsch---man sieht ja wer die Verordnung gemacht hat.


    Zu meiner anderen Frage weiß da einer Hilfe:


    Außerdem zeigt es bei mir die Short_Description nicht an.
    Laut anleitung soll man die checkout.php ändern.
    Ist dies nur bei Ajax-Checkout nötig? Bei mir kommt nämlich die checkout_confirmation.
    Wenn ich es dann so mache:

    Code
    <strong>{#text_products#}</strong> 
    {#text_short_description#}
    <a href="{$PRODUCTS_EDIT}">{$BUTTON_EDIT}</a><br />
                {$PRODUCTS_BLOCK}


    wird die Beschreibung nicht angezeigt.

  • Hi,

    es wird ja außerdem empfohlen einen Link für weitere Details unter die Beschreibung zu packen ... also schlicht ein Link wieder zum Produkt. (vgl hierzu Musterbestellseite von Trusted : Trusted
    Shops favorisiert hier eine „Teaser-mit-Detail-Link“-Variante)

    Hat das schon jemand umgesetzt oder kann mir den Code für den Link nennen? Irgendwie komme ich nicht auf die Lösung wie der lauten muss (Bezeichnung: weitere Infos und Link auf das Produkt)

    Bin für jeden Tip dankbar

  • Zitat

    es wird ja außerdem empfohlen einen Link für weitere Details unter die Beschreibung zu packen


    So was mag ich . Ein Gesetz rausgeben und trotzdem weiß niemand wie man es umsetzen muß. Na ja sind doch viele Politiker Juristen---ein Schelm der böses denkt :mad:

    Zitat

    also schlicht ein Link wieder zum Produkt


    Bei V1.1.1 funktioniert es wenn man auf die Beschreibung klickt.Vielleicht hat der Programierer da nen Tipp