Jump to content

Was ändern für EU Rechtssicherheit?


d0m1n1k

Recommended Posts

Hallo.

Bitte postet hier konkrete Punkte (und gegebenenfalls Ideen oder Lösungen dafür), die nicht dem Sollstand entsprechen und angepasst werden müssen, damit (deutsche) Shopbetreiber nicht mit Abmahnungen rechnen müssen.

ziele:
# anbieten von fixes für möglichst alle probleme (am besten sauberer code, der in hooks/modulen oder zumindest zusätzlichen funktionen arbeitet)
# anbieten von fertigen dateien / komplettem shop mit integrierten korrekturen
# korrekturen sollen in den upstream, damit die elemente nicht bei jedem update angepasst werden müssen
Die meisten Punkte sind inzwischen im Tracker. Bitte postet dort auch eure Meinungen, damit die requests etwas aufmerksamkeit bekommen.

Global:
# checkboxen können ohne JS übergangen werden
Fix
# TC Zertifikat: http://www.trustedshops.de/shopbetreiber/abmahnungs-check.html

Anmeldung / Kundenkonto:
# Douple Opt In für Newsletterbox => http://www.prestashop-forum.de/thread-100.html
Tracker
SVN 875: [+] MO : Customer email activation module (not fully implemented yet)
# Beim Kundenkonto eröffen > Datenschutzbestimmungen akzeptieren + Aktivierungslink in E-Mail
Fix
Tracker
# Kunden müssen eine Möglichkeit haben ihr Kundenkonto zu löschen.
Fix
Tracker

Bestellung:
# MwSt. im Warenkorb
Fix
Tracker
# MwSt. als Einzelposten im Warenkorb
- einzelposten + zusätzliche spalte(n)?
Tracker
# vor endgültiger Bestätigung des Abschlusses nocheinmal eine Zusammenfassung der Gesamtenbestellung
Files
Fix
Tracker
# AGB akzeptieren AGB akzeptieren (Admin -> Einstellungen -> Allgemein -> Allgemeine Geschäftsbedingungen,
# Widerufsbelehrung zur Kenntnis genommen
# Kundenbestellungen ohne Kundenkonto muss möglich sein Tracker ID 430 confirmed
Kann das stimmen? ich kenne einige shops in denen das de facto nicht möglich ist (amazon als prominenter vertreter). wenn es so illegal wäre, wären die interessanten kandidaten bereits abgemahnt worden
Engl Diskuss
Lösung (franz)
# die Wiederrufsbelehrung muss gleich den Abschnitt in den AGB’s sein.
liegt zur zeit in der hand des shopbetreibers, schöner wäre es natürlich wenn der shop dafür sorgt
Auch muss diese in der Bestätigungsmail nach der Bestellung mit drin stehen.
auch dies lässt sich über das e-mail template regeln
Auch sollten die AGB’s dort nochmal mit drin stehen oder als PDF im Anhang dabei sein.

Produkte:
# Anzeigen der MwSt. auf allen Produktseiten (ebenfalls zum Ein- oder Ausschalten).
Tracker
# Produkte sicherheitshalber immer mit dem Zusatz: inkl. gesetzl. MwSt. zzgl. Versandkosten
Fix
# verkaufseinheit = 50 ml, preis muss auch in 100 ml angegeben sein
Handelskammer

Link to comment
Share on other sites

Fix: Kunde kann Konto selbst löschen

identity.php
davor:

if (Tools::isSubmit('submitIdentity'))
{
   if (!@checkdate(Tools::getValue('months'), Tools::getValue('days'), Tools::getValue('years')) AND
   !(Tools::getValue('months') == '' AND Tools::getValue('days') == '' AND Tools::getValue('years') == ''))
       $errors[] = Tools::displayError('invalid birthday');


einfügen:

elseif($_POST['deleted'])
   {
       $_POST['old_passwd'] = trim($_POST['old_passwd']);
       if (empty($_POST['old_passwd']) OR (Tools::encrypt($_POST['old_passwd']) != $cookie->passwd))
           $errors[] = Tools::displayError('your current password is not that one');
       elseif ($_POST['deleted'] == 1)
       {
           $errors = $customer->validateControler();
           if (!sizeof($errors))
           {
               $customer->deleted = 1;
               $customer->active = 0;

               if (Tools::getValue('passwd'))
                   $cookie->passwd = $customer->passwd;
               if ($customer->update())
               {
                   $smarty->assign('confirmation', 1);
                   $cookie->mylogout();
                   Tools::redirect('index.php');
               }
               else
                   $errors[] = Tools::displayError('impossible to update information');
           }
       }
   }    


nachher:

else
   {
       $customer->birthday = (empty($_POST['years']) ? '' : intval($_POST['years']).'-'.intval($_POST['months']).'-'.intval($_POST['days']));[/i]




themes/{themenname}/identity.tpl
davor:



               <input type="checkbox" name="optin" id="optin" value="1" {if $smarty.post.optin == 1} checked="checked"{/if} />
{l s='Receive special offers from our partners'}


einfügen:



               <input type="checkbox" name="deleted" id="deleted" value="1" />
{l s='Delete your account'}


danach:



               <input type="submit" class="button" name="submitIdentity" value="{l s='Save'}" />
[/i]


Wenn wer möchte kann hier noch ein JS Popup mit abfrage "sind sie sicher ... ?" eingefügt werden.
der kunde wird in der datenbank auf deleted = 1 und active = 0 gesetzt.

Link to comment
Share on other sites

Fix: Produkte sicherheitshalber immer mit dem Zusatz: inkl. gesetzl. MwSt. zzgl. Versandkosten

themes/{thema}/product.tpl

{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)} {if $product->getPrice(true, $smarty.const.NULL, 2) != $product->getPrice(false, $smarty.const.NULL, 2)}{l s='incl. tax'}{/if}




{convertPrice price=$product->getPriceWithoutReduct()} {l s='incl. tax'}


jeweils das incl. tax durch incl. tax, excl. shipping & handling ersetzen


{l s='('}{convertPrice price=$product->getPrice(false, $smarty.const.NULL, 2)} {l s='tax not incl.)'}


hier logischerweise tax, shipping & handling not incl. draus machen.

Danach die deutsche Übersetzung für den Frontbereich nicht vergessen!

Link to comment
Share on other sites

Fix: MwSt im Warenkorb anzeigen lassen
(Danke an Beate Original-Post )

/order.php
Vorher

   /* 4 steps to the order */
   switch (intval($step))
   {
       case 1:
           displayAddress();
           break;
       case 2:
           if(Tools::isSubmit('processAddress'))
               processAddress();
           autoStep(2);
           displayCarrier();
           break;
       case 3:
           if(Tools::isSubmit('processCarrier'))
               processCarrier();        
           autoStep(3);
           checkFreeOrder();
           displayPayment();
           break;
       default:
           $smarty->assign('errors', $errors);
           displaySummary();
           break;
   }


nachher

   /* 4 steps to the order */
   switch (intval($step))
   {
       case 1:
           displayAddress();
           break;
       case 2:
           if(Tools::isSubmit('processAddress'))
               processAddress();
           autoStep(2);
           displayCarrier();
           break;
       case 3:
           if(Tools::isSubmit('processCarrier'))
               processCarrier();
           $smarty->assign('priceByTaxes', $cart->getPriceByTaxes());             
           autoStep(3);
           checkFreeOrder();
           displayPayment();
           break;
       default:
           $smarty->assign('errors', $errors);
           $smarty->assign('priceByTaxes', $cart->getPriceByTaxes()); 
           displaySummary();
           break;
   }



/classes/Cart.php
einfügen:

   function getPriceByTaxes()
   {
       $priceByTaxes = array();
       if (!$this->id)
       return 0;
       if ($this->_nb_products != NULL)
       {
           foreach($this->_products as $p)
           {
               if(!isset($priceByTaxes[$p['rate']])) $priceByTaxes[$p['rate']] = 0;
               $priceByTaxes[$p['rate']] += ($p['price_wt'] - $p['price']) * $p['quantity'];
           }
       }
       return $priceByTaxes;
   }



/themes/{dein_thema}/shopping-cart.tpl
nach:


{l s='Total products:'}
{convertPrice price=$total_products_wt}


einfügen:

{foreach from=$priceByTaxes item=pbt key=tax_percent}

{l s='Included tax for '}{$tax_percent}%:
{convertPrice price=$pbt}    

{/foreach} 



funktioniert bei mir auch in der aktuellen svn version 640 noch

Link to comment
Share on other sites

Also, wenn es nur um die Anzeige der Mehrwertsteuer geht, gibt es noch einen einfacheren Weg.
In der Cart.php folgenden Eintrag suchen:

'total_products_wt' => number_format($this->getOrderTotal(true, 1), 2, '.', ''),


dort unten drunter:

'total_products_wot' => number_format($this->getOrderTotal(false, 1), 2, '.', ''),

einfügen.

Danach in shopping-cart.tpl (unter Themes) unterhalb von
{l s='Total products:'}{convertPrice price=$total_products_wt}

folgendes einfügen:
{l s='gesetzl MwSt:'}{convertPrice price=$total_products_wt-$total_products_wot}

Bei mir funktioniert dies zumindest in der neuen SVN Version problemlos.

Link to comment
Share on other sites

Fix: Zusammenfassung vor Bestellbestätigung

classes/Order.php

static public function createSummary()
   {
       global $smarty, $cart;

       if (file_exists(_PS_SHIP_IMG_DIR_.intval($cart->id_carrier).'.jpg'))
           $smarty->assign('carrierPicture', 1);
       $summary = $cart->getSummaryDetails();
       $customizedDatas = Product::getAllCustomizedDatas(intval($cart->id));
       Product::addCustomizationPrice($summary['products'], $customizedDatas);

       if ($free_ship = intval(Configuration::get('PS_SHIPPING_FREE_PRICE')))
       {
           $discounts = $cart->getDiscounts();
           $total_free_ship =  $free_ship - ($summary['total_products_wt'] + $summary['total_discounts']);
           foreach ($discounts as $discount)
               if ($discount['id_discount_type'] == 3)
               {
                   $total_free_ship = 0;
                   break ;
               }
           $smarty->assign('free_ship', $total_free_ship);
       }
       $smarty->assign($summary);
       $token = Tools::getToken(false);
       $smarty->assign(array(
           'token_cart' => $token,
           'voucherAllowed' => Configuration::get('PS_VOUCHERS'),
           'HOOK_SHOPPING_CART' => Module::hookExec('shoppingCart', $summary),
           'HOOK_SHOPPING_CART_EXTRA' => Module::hookExec('shoppingCartExtra', $summary),
           'shippingCost' => $cart->getOrderTotal(true, 5),
           'customizedDatas' => $customizedDatas,
           'CUSTOMIZE_FILE' => _CUSTOMIZE_FILE_,
           'CUSTOMIZE_TEXTFIELD' => _CUSTOMIZE_TEXTFIELD_,
           'lastProductAdded' => $cart->getLastProduct()
           ));
       Tools::safePostVars();
   }



Für jede Zahlungsweise bei der die Zusammenfassung erscheinen soll
modules/{bezahlmodul}/payment.php
VOR:
echo $bankwire->execPayment($cart);

Order::createSummary();



auch für jede Zahlungsweise:
modules/{bezahlmodul}/payment_execution.tpl
nach:
{if $nbProducts <= 0}

{l s='Your shopping cart is empty.'}


{else}
{include file=$tpl_dir./shopping-summary.tpl}



shopping-cart.tpl und shopping-cart-product-line.tpl kopieren und umbenennen (cart jeweils durch summary ersetzen).

löschen aus /themes/{thema}/shopping-summary.tpl

{capture name=path}{l s='Your shopping cart'}{/capture}
{include file=$tpl_dir./breadcrumb.tpl}

{l s='Shopping cart summary'}

{assign var='current_step' value='summary'}
{include file=$tpl_dir./order-steps.tpl}


>
{if isset($lastProductAdded) AND $lastProductAdded}
   {foreach from=$products item=product}
       {if $product.id_product == $lastProductAdded}

</pre>
<table>getProductLink($product.id_product, $product.link_rewrite, $product.category)|escape:'htmlall':'UTF-8'}">getImageLink($product.link_rewrite, $product.id_image, 'small')}" alt="{$product.name|escape:'htmlall':'UTF-8'}" />
getProductLink($product.id_product, $product.link_rewrite, $product.category)|escape:'htmlall':'UTF-8'}">{$product.name|escape:'htmlall':'UTF-8'}
                       {if $product.attributes}getProductLink($product.id_product, $product.link_rewrite, $product.category)|escape:'htmlall':'UTF-8'}">{$product.attributes|escape:'htmlall':'UTF-8'}{/if}
</table>
<br>       {/if}<br>   {/foreach}<br>{/if


shopping-cart auf shopping-summary ändern:

{include file=$tpl_dir./shopping-cart-product-line.tpl}


löschen:



{l s='Next'} »
« {l s='Continue shopping'}


für MwST im warenkorb: Der Fix

themes/{thema}/shopping-summary-product-line.tpl
löschen

       {if !isset($customizedDatas.$productId.$productAttributeId) OR $quantityDisplayed > 0}





       {/if}

Link to comment
Share on other sites

Fix: Double Opt In / Aktivierungslink für Anmeldung + Datenschutzbestimmungen akzeptieren
Danke an die Italienischen Freunde mit ihrer Lösung.
Habe noch ein paar Kleinigkeiten korrigiert, aber die Grundlagen stammen von ihnen.

authentication.php
nach:
//CSS ans JS file calls
$js_files = array(
_THEME_JS_DIR_.'tools/statesManagement.js'
);
$errors = array();

einfügen:

$active = Tools::getValue('active');
if (!empty($active))
   {
       if(Customer::activateCustomers($active))
       {
           $smarty->assign('active', Tools::safeOutput($active));
       }
       else
       {
           $smarty->assign('not_active', Tools::safeOutput($not_active));
       }
   }
$privacy=Tools::getValue('privacy');
$back = Tools::getValue('back');


ersetzen:
if (!Validate::isEmail($email = Tools::getValue('email')))
durch

if (!$privacy)
       $errors[] = Tools::displayError('you must accept the privacy rules for registration');
   elseif (!Validate::isEmail($email = Tools::getValue('email')))



if (!sizeof($errors))
{
$customer->active = 1;
auf 0 ändern.

array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname))
$smarty->assign('confirmation', 1);
$cookie->id_customer = intval($customer->id);
$cookie->customer_lastname = $customer->lastname;
$cookie->customer_firstname = $customer->firstname;
$cookie->passwd = $customer->passwd;
$cookie->logged = 1;
$cookie->email = $customer->email;
ändern auf:

   array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd'), '{securkey}' => $customer->secure_key), $customer->email, $customer->firstname.' '.$customer->lastname))
                       $smarty->assign('confirmation', 1);
                   /* $cookie->id_customer = intval($customer->id);
                   $cookie->customer_lastname = $customer->lastname;
                   $cookie->customer_firstname = $customer->firstname;
                   $cookie->passwd = $customer->passwd;
                   $cookie->logged = 1;
                   $cookie->email = $customer->email; */



classes/Customer.php
einfügen:

   /**
     * Activate Customer Account
     *
     * @return boolean Customer activated
     */
   public function activateCustomers($securekey)
   {
       Db::getInstance()->Execute('UPDATE `'._DB_PREFIX_.'customer` SET `active` = 1 WHERE `secure_key` = \''.$securekey.'\'');

       if(Db::getInstance()->ExecuteS('SELECT `id_customer` FROM `'._DB_PREFIX_.'customer` WHERE `active` = 1 AND `secure_key` = \''.$securekey.'\''))
           return true;
       else
           return false;
   }



themes/{thema}/authentication.tpl
vor:

{if !isset($email_create)}{l s='Log in'}{else}{l s='Create your account'}{/if}



einfügen:
{if isset($active)}


{l s='Your account has been successfully enabled.'}

{/if}
{if isset($not_active)}


{l s='Your account could not be enabled.'}

{/if}



nach:


{l s='Assign an address title for future reference'} !
<input type="text" class="text" name="alias" id="alias" value="{if isset($smarty.post.alias)}{$smarty.post.alias}{else}{l s='My address'}{/if}" />
*


einfügen:


               <input type="checkbox" name="privacy" id="privacy" value="1"/>
{l s='Sign up accept privacy rules'} {l s='(read_privacy)'}
*



in der html Email:

Klicken Sie hier um Ihr Konto zu aktivieren.


und in der text email:

Sie müssen Ihr Konto mit der folgenden URL noch freischalten: {shop_url}authentication.php?active={securkey}.


einfügen.

Link to comment
Share on other sites

Fix: Checkboxen können ohne JS übergangen werden

/themes/{thema}/header.tpl
zwischen
{$HOOK_HEADER}
und
</head>

einfügen:

       {literal}
       <style type="text/css">
       div#hide 
       { 
           position:absolute; 
           height:100%; 
           left:0; 
           width:100%; 
           color:#FF0000;
           background-color:#FFFFFF;
           opacity:0.6
       }     
       </style>

       [removed]
       <!--
       window.onload=function() {
       setTimeout('document.getElementById("hide").style.display="none"',0);
       return;
       }
       //-->
       [removed]




Diese Seite kann nur mit aktiviertem JavaScript besucht werden

       {/literal}



bei den beiden removed sollte script=javascript und der dazugehörige endtag rein.

Link to comment
Share on other sites

Mein letzter Post war ja arger Schwachsinn, stand ja schon weiter oben.

Ich habe die ganze Zeit überlegt ob ich mich hier beteiligen soll, aber...ähm...aber die Entwickler können ihren Schrott behalten. Ich seh keine Zukunft für prestashop in der EU oder sonstwo. In einem Jahr ist der Laden hier eh spätestens dicht.

Wäre cool, wenn Du die ganze Arbeit in ein System stecken könntest an dem etwas kooperativere Entwickler arbeiten.

Man sieht ja an der regen Beteiligung hier in dem Thread und im deutschen Forum, dass es vergebene Liebesmüh ist.
Von den ganzen Steuer- und Bestellablauf-Threads ohne oder mit pampiger Reaktion der Entwickler mal ganz abgesehen.
Sorry fürs off-topic.

Link to comment
Share on other sites

hab deine daten nur oben ergänzt, damit alles auf den ersten blick ersichtlich ist.

damien und matthieu bringen mich langsam zur weißglut
# stells in den bugtracker
# wird geschlossen weils ein feature request ist
# wird geschlossen weils einen verweis auf ein deutsches forum hat (für die fixes)
# stell die fixes erneut komplett in englisch in den bugtracker
# werd ermahnt nicht nochmals features in den bugtracker zu posten, da sie ansonsten aktionen ergreifen müssen
# werd angemault weil sourcode (die fixes) im bugtracker nichts zu suchen hat.

ka was bei denen falsch läuft.
sie bräuchten nichts mehr zu tun als die code fragmente in den svn zu integrieren und die gröbsten rechtsverstöße wären behoben.
statt dessen maulen sie rum dass es im falschen thread/bereich gepostet ist, dass ein fix im deutschen forum ist, dass ein fix direkt angehängt wird.

auch off topic, aber anscheinend ist eh schon ziemlich viel egal hier.

n fork wäre noch ne idee, aber ob sich den aufwand wer antun möchte ...

Link to comment
Share on other sites

Man sollte den Entwicklern die Chance jetzt noch geben und sich ansonsten vom Acker machen und keine Mühen mehr verschwenden. Im Forum rumort es ja inzwischen schon recht heftig, vielleicht wachen die ja noch auf. Ich glaube zwar nicht mehr dran, aber man kann es nie wissen.
Die Fork-Idee wurde schon öfter diskutiert und eigentlich jedesmal verworfen, es gibt ja hier noch mehr Baustellen wie die merkwürdige Datenbankstruktur.

Ändert aber alles nix an Deiner tollen Arbeit ;)

Link to comment
Share on other sites

danke ;)

hab philippe gestern noch gemailt, und versucht ihm das problem zu erklären.

so weit ich das verstanden habe sind philippe und damien die "chefs". mal sehen obs was bringt.

das dilemma ist ja dass es für den großteil der groben ecken schon korrekturen gibt/gab, welche nur stur ignoriert werden.
hätte das dev team hier vor/seit einem halben jahr offener gehandelt, wäre ps wesentlich weiter als es im moment ist.

Link to comment
Share on other sites

Es lohnt sich nicht in dieses System Arbeit zu stecken, solange die Entwickler der Überzeugung sind, dass sie den Nabel der Welt erfunden haben. Prestashop gibt es ja schon seit einiger Zeit und die Ausbeute an Modulen ist verschwindend gering. Wenn es etwas taugen würde, dann würden die Payment Provider schon längst auf den fahrenden Zug aufgesprungen sein. Für Magento gibt es inzwischen dort zahlreiche Module und zwar kostenlos. Bzgl. Versand funktionieren die dort integrierten Module inzwischen gut (z.B. UPS).
Es gibt auch noch andere kostenlose Shop Systeme, von OScommerce über Zencart bis zu Virtue Mart und Oxid PE, die entweder schon fertig für den deutschen Markt inkl. Rechtssicherheit out of the box funktionieren oder für die entsprechende Module vorliegen.
Ich habe schon im deutschen Forum gepostet, dass sich, nach ziemlich barscher Anmache eines Entwicklers des PS Teams bzgl. Datenbankeignung für automatischen Massenimport für mich Prestashop erledigt hat. Externe Entwicklung ist unerwünscht, darauf lässt auch die fehlende Dokumentation zum System schließen. Mir wurde jedenfalls geantwortet, dass ein Massenimport gefälligst über die PS Classes zu erfolgen hätte und ob ich schon mal was von entity gehört hätte. Wie schön, dass dann gleichzeitig das PS System überhaupt nicht dokumentiert ist, es gibt lediglich eine Übersicht über die Datenbank, also muss ich ja davon ausgehen, dass ein solcher Import dann auch über die Datenbank direkt erfolgen kann, da ja nur diese marginal dokumentiert ist.
to kdk: volle Zustimmung, das ganze ist schon dabei sich selbst zu erledigen.

Link to comment
Share on other sites

Hallo,

kann es sein, dass der Fix "Zusammenfassung vor Bestellbestätigung" nicht funktioniert? In dem moment, wo ich die createSummary aufrufe, bricht das Skript an der Stelle ab. Lasse ich den Aufruf weg, werden zwar die Template eingebunden, jedoch logischerweise ohne Daten. Muss die Funktion wirklich in die Klasse Order.php? Hat jemand das selbe Problem und kann mir bitte weiterhelfen?

Danke!

Link to comment
Share on other sites

hallo.

könntet ihr das error reporting einschalten und die fehlermeldung posten?

ich habe mit der damals aktuellen svn version gearbeitet, evtl fand zwischen eurer version und der version in der der fix funktionierte im hintergrund von ps eine änderung statt, die das zum kippen brachte.

danke

Link to comment
Share on other sites

Hi, hier der Fehler:


Fatal error: Call to undefined function createSummary() in /var/www/vhosts/beauty-first.de/httpdocs/shop/modules/bankwire/payment.php on line 17

kann da einer mal schauen?
Ich gucke mir das heute abend mal genauer an, muss jetzt Arbeiten.

mfg
Sakis

Link to comment
Share on other sites

scheint als ob entweder der fix in der Classes/Order.php nicht aufgerufen werden konnte, oder er dort garnicht drinnen ist ;)

versuch mal den fix der in die Classes/Order.php gehören würde in der bankwire payment.php unterzubringen

static public function createSummary()
   {
       global $smarty, $cart;

       if (file_exists(_PS_SHIP_IMG_DIR_.intval($cart->id_carrier).'.jpg'))
           $smarty->assign('carrierPicture', 1);
       $summary = $cart->getSummaryDetails();
       $customizedDatas = Product::getAllCustomizedDatas(intval($cart->id));
       Product::addCustomizationPrice($summary['products'], $customizedDatas);

       if ($free_ship = intval(Configuration::get('PS_SHIPPING_FREE_PRICE')))
       {
           $discounts = $cart->getDiscounts();
           $total_free_ship =  $free_ship - ($summary['total_products_wt'] + $summary['total_discounts']);
           foreach ($discounts as $discount)
               if ($discount['id_discount_type'] == 3)
               {
                   $total_free_ship = 0;
                   break ;
               }
           $smarty->assign('free_ship', $total_free_ship);
       }
       $smarty->assign($summary);
       $token = Tools::getToken(false);
       $smarty->assign(array(
           'token_cart' => $token,
           'voucherAllowed' => Configuration::get('PS_VOUCHERS'),
           'HOOK_SHOPPING_CART' => Module::hookExec('shoppingCart', $summary),
           'HOOK_SHOPPING_CART_EXTRA' => Module::hookExec('shoppingCartExtra', $summary),
           'shippingCost' => $cart->getOrderTotal(true, 5),
           'customizedDatas' => $customizedDatas,
           'CUSTOMIZE_FILE' => _CUSTOMIZE_FILE_,
           'CUSTOMIZE_TEXTFIELD' => _CUSTOMIZE_TEXTFIELD_,
           'lastProductAdded' => $cart->getLastProduct()
           ));
       Tools::safePostVars();
   } 



und zwar irgendwo vor der zeile 17, wo die funktion aufgerufen wird.

mfG

Link to comment
Share on other sites

Hallo D0m1n1k,

die Funktion ist in classes/order.php eingefügt.

Ich meine ich hatte die auch schon in der payment.php drin, ging auch nicht.

Bin jetzt erstmal einige Tage auf Gescheftsreise, werde es aber noch mal probieren.

Jetzt habe ich ja auch den Fehlerreport eingeschaltet. ;-)



mfg
Sakis

Link to comment
Share on other sites

jta... das liebe Land Deutschland...

ich habe den Beitrag gelesen und kann den Ärger verstehen... aber die Frage ist WARUM ist das so ?

ich bin Franzose und lebe teils in Frankreich, teils in Deutschland... seit mehr als 25 Jahre. und EINS ist sicher : Deutschland ist irgendwie "krank". Es kann doch nicht sein, dass es immer für dieses und jenes abgemahnt wird ! Es sieht so aus, als das Gesezt alles dafür tut, dass man sein Gehirn abschaltet und nur noch nach dem Gesezt handelt !

Beispiel : Rauchverbot im Restaurant aber nicht im Zelt... also hat man in München ein Zelt in einem Restaurant gebaut... und das Zeltrestaurant hat Recht bekommen !!!

Deutschland ist das einzige Land in Europa, wo die FORM (Gesezt) wichtiger ist als der INHALT (Vernunft, Sinn), das heißt, in Deutschland, wenn ein Text "A" sagt heißt es es MUSS "A" sein... selbst wenn in manchen Fällen es "B" sein sollte.

In Frankreich hätte man gesagt "wollt ihr uns verarschen ? der Rauchergesetzt ist so gemeint, dass man nicht in geschlossene Räume rauchen darf, also Zelt oder nicht, rauchverbot!" Hier gilt der INHALT und nicht die Form !

warum schreibe ich das ?

Wenn mein ein französischer Eshop macht, kann man direkt mit Prestashop loslegen. "inkl. MwSt." zum Beispiel ist nicht notwendig oder es reicht wenn irgendwo steht "alle Preise sind inkl. MwSt." Es ist nur ein Beispiel. Warum sollte also Prestashop sich soviel Mühe machen um den guten Shop, was überall in Europa eingesetzt werden kann, auf die "deutschen merkmale" anzupassen ?

das ist der richtige Grund, warum es mit Prestashop so mühesam ist, ein deutscher Shop zu machen... es ist nun mal eine franz. Entwicklung...

Es gibt zwar ein europäisches Recht, aber in den meisten Länder reicht es, wenn man darauf hinweis. Deutschland will aber alles "korrekt" machen... spricht "es könnte aber sein, dass Jemanden dies oder das nicht gelesen hat... z.B. dass alle Preise "inkl. MwSt." sind...

das macht das ganze natürlich sehr kompliziert. Ich sage nicht, dass alles in Frankreich besser ist !!! weiß Gott nicht ! aber wenn man in Deutschland ein bisschen "vernünftiger" werden würde, würde das vieles vereinfachen... vor allem das Gestzt sollte ENDLICH mal "vernünftig" werden... die Abmahnewellen, weil ein Satzt im Eshop fehlt... etc... sollte wirklich nicht existieren ! oder diese Firmen die nur noch abmahnen um Geld zu verdienen... wie armseelig...

Ich glaube in der Tat, dass man HEUTE Prestashop nur schweer in Deutschland einsetzen kann... es sind einfach zuviele "Änderungen" zu machen... Schön wärst, wenn es eine DEUTSCHE Alternative gäbe was direkt an den deutschen Voraussetzungen angepasst ist.

jetzt werde ich bestimmt viele "Kritiken" bekommen, weil ich das deutsche System kritisiert habe"... aber ganz im Ernst... ich versuche NUR 2 Systeme zu vergleichen und versuche zu verstehen, WARUM es soviele Unterschiede gibt... im Gesetz.

  • Like 1
Link to comment
Share on other sites


jetzt werde ich bestimmt viele "Kritiken" bekommen, weil ich das deutsche System kritisiert habe"... aber ganz im Ernst... ich versuche NUR 2 Systeme zu vergleichen und versuche zu verstehen, WARUM es soviele Unterschiede gibt... im Gesetz.


Die Deutschen sehen das wohl genauso wie du, nur machen kann man nix dagegen ausser auswandern :-)

Du musst das mal so betrachten, dass ist quasie eine Marktlücke die in Frankreich von den Anwälten noch nicht entdeckt wurde. Wo kann man schon einfacher Geld verdienen als im Internet mit Abmahnungen? Traurig aber wahr.
Link to comment
Share on other sites

doch doch... ihr könntet auch mal eine "französische Revolution" machen ;)

ich HOFFE dass es irgendwann alles wieder normal wird... wenn man sieht, dass es doppelt soviele Anwählte in Deutschland gibt, als in Frankreich... und dass die größten Fällen, Probleme mit Gartenzwerge oder Bäume im Nachbargarten sind.... mir fällt dabei nichts mehr ein...

Es gibt WIRKLICH wichtigeres im Leben oder ?

aber zurück zu Prestashop : ich finde das Programm wirklich KLASSE... aber eben nur für den franz. Markt...

Für Deutschland... bleibt nur Megento oder Virtuemart (Joomla)...

Link to comment
Share on other sites

Richtig ist, dass Prestashop momentan nur für den französischen Markt geeignet ist, eben wegen der wie ich auch finde grotesken Gesetzeslage in Deutschland und weil einige Rechtsgelehrte das Internet bzgl. Abmahnungen als ständig sprudelnde Einnahmequelle entdeckt haben.

Da wir aber nun mal diese Gesetzeslage haben, es betrifft auch nicht nur Deutschland, ist Prestashop eben eine ungeeignete Shoplösung für die betreffenden Märkte. Allerdings sind Magento bzw. oscommerce diesbezüglich eben kompatibler, ebenso andere allerdings kostenpflichtige Shoplösungen.

Ich versehe es aber nicht, dass das Entwicklerteam nicht in der Lage ist, fakultativ das, was im Shopping Cart angezeigt wird, noch einmal vor der Bestellbestätigung abzubilden.

Link to comment
Share on other sites

@d0m1n1k: es funktioniert, wenn man es in die payment.php kopiert. MwSt. fix funktioniert zwar nicht, is m.E. aber auch nicht notwendig (vgl. z.B. Otto.de - auch hier steht nur der Verweis: alle preise inkl. gesetzl. MWST). Danke für den Fix!

Link to comment
Share on other sites

Fix Umrechnung Preise z.B. in 100g Einheiten:

z.B. in product.tpl

{assign var='myWeight' value=$product->weight}
{assign var='myWeightGram' value=$myWeight*1000}
{assign var='myPrice' value=$product->getPrice(true, NULL, 2)}
{assign var='myPrice100Gram' value=$myPrice/$myWeight*0.1}



an gewünschter Stelle ähnliches einbauen:

{if $myPrice100Gram!=0}* Preis pro 100g = {$myPrice100Gram} €{/if}

Link to comment
Share on other sites

Als zugegeben kostenpflichtige Alternativen gibt es z.B. noch cs-cart und x-cart. Diese beinhalten allerdings noch jede Menge Zahlungs- und Versandmodule und noch weitere Module, die den Preis von um die 265 US-Dollar allemal wert sind. Bei kostenlosen Shopsystemen gibt es auch noch die Community Version von Oxid, der es allerdings, wie Prestashop auch, an Zahlungs- und Realtime Versandmodulen fehlt.

Wenn man die Foren mal etwas durchforstet, gibt es offensichtlich bzgl. Bestellbestätigung auch Probleme in den Niederlanden, den USA, in Kanada. Ich kann mir auch nicht vorstellen, dass es in vielen der übrigen EU Ländern möglich ist einem Kunden einfach zu sagen: Zahle Betrag xyz ohne aufzulisten, wie sich dieser Betrag zusammensetzt.

Link to comment
Share on other sites

Es wäre interessant zu wissen, in welchen Ländern das "standard" Prestashop NICHT eingesetzt werden kann (außer Deutschland)


In Kanada gibt es wohl ähnliche Probleme mit der Steuerausweisung wie in Deutschland und die US-Amerikaner haben mit prestashop wohl auch einige Probleme, denn die müssen die Umsatzsteuer zusammen mit der Einkommenssteuer abführen (was für ein Wahnsinn.....)

Es gibt zwei gute Gründe warum eine Shopsoftware, die für sich den Anspruch hat international zu sein - so wie prestashop-, den deutschen Markt zu bedienen.

1. ist es der größe Markt in Europa - 80.000.000 potentielle Kunden
2. wenn eine Shopsoftware für Deutschland funktiniert, dann funktioniert sie so gut wie in jedem Land (aus den von Dir genannten Gründen, niemand legt strengere Richtlinien an den online-Verkauf als die Deutschen)
Link to comment
Share on other sites

Danke für den Hinweis !

es scheint also so zu sein wie ich dachte : in Europa kann Prestashop in fast allen Ländern eingesetzt werden (außer für Deutschland, Österreich und Teilweise in der Schweiz).

ich hoffe AUCH, dass das Prestateam bald reagiert ! ich werde in dem franz. Forum auch Druck machen

Link to comment
Share on other sites

Also soweit würde ich nicht gehen. Prinzipiell kann man einen ungepatchten Prestashop in keinem Land in Europa einsetzen. Die Gesetze sind ja inzwischen fast identisch, alleine in Deutschland drohen einem mit prestashop empfindliche Strafen (da kann man schon mal 4-5.000 € beiseite legen).

Die Entwickler haben hier einfach Mist gebaut, die haben eine alpha-Version einer software als stable angepriesen und das macht man einfach nicht. Das Verhalten das die Entwickler an den Tag gelegt haben als sie auf die Missstände aufmerksam gemacht wurden war katastrophal, verantwortungslos und eigentlich nichts anderes als eine Unverschämtheit.

Nachdem es im englischsprachigem Forum nochmal zu einem richtigen Aufstand kam, scheint man jetzt langsam aufzuwachen. Vermutlich weil man die extrem schlechte Publicity fürchtet.

Mal sehen was daraus wird - dieser Thread hier scheint auf jeden Fall im Mittelpunkt des derzeitigen Interesses zu stehen.

Link to comment
Share on other sites

Was hat Prestashop funktionell so besonderes, dass man überhaupt darüber diskutiert. Eigentlich ist nur das Smarty-Template wirklich gut, das Design ist sehr gelungen.
An den meisten anderen Dingen: funktionierende Zahlungsmodule, Real-Time-Versandmodule usf. fehlt es doch, mal ganz abgesehen von den rechtlichen Dingen.

Link to comment
Share on other sites

es gibt jedoch einen großen Unterschied zwischen Deutschland und Rest Europa

1 - Keiner wurde in Frankreich abmahnen
2 - selbst wenn, sind Abmahnungen in Frankreich OHNE Kosten für den Empfänger gebunden ! Es wird "abgemahnt" und nicht "verklagt" deshlab ist es auch verboten für den Anwalt seine Rechnung gleich zu stellen. Mann läßt dem abgemahnten eine Frist um das Problem zu beheben. Wird nichts gemacht, kann man dann klagen und erst werden Kosten fällig. Das ist auch der Grund weshalb nicht abgemahnt wird, zu mind selten...

in Deutschland - und das ist der Punkt - kommt gleich die Rechnung mit der Abmahnung... und deshalb wird soviel abgemahnt... meistens auf professioneller Art...

die EU Gestzte werden in den meisten Länder nicht wirklich umgesetzt... versuche eine franz. Firma zu verklagen, weil eine Email nicht rechtsmäßig unterschrieben ist... da wird jeder lachen ! und NIEMALS wirst Du einen franz. Anwalt finden der abmahnen will... da ist nichts zu holen !

... aber in Deutschland... muss man in Angst leben...

Link to comment
Share on other sites

Was hat Prestashop funktionell so besonderes, dass man überhaupt darüber diskutiert. Eigentlich ist nur das Smarty-Template wirklich gut, das Design ist sehr gelungen.
An den meisten anderen Dingen: funktionierende Zahlungsmodule, Real-Time-Versandmodule usf. fehlt es doch, mal ganz abgesehen von den rechtlichen Dingen.


ich finde den online tracking (GLS) für den Versand sehr gut, und die ganze Rechnung / Auftragsbestätigung etc... sehr gelungen...
Link to comment
Share on other sites

Hallo d0m1n1k,

ich habs mal so versucht, aber jetzt kommt HTTP 500 interner serverfehler:

Der Code:

 

<?php

static public function createSummary()
   {
       global $smarty, $cart;

       if (file_exists(_PS_SHIP_IMG_DIR_.intval($cart->id_carrier).'.jpg'))
           $smarty->assign('carrierPicture', 1);
       $summary = $cart->getSummaryDetails();
       $customizedDatas = Product::getAllCustomizedDatas(intval($cart->id));
       Product::addCustomizationPrice($summary['products'], $customizedDatas);

       if ($free_ship = intval(Configuration::get('PS_SHIPPING_FREE_PRICE')))
       {
           $discounts = $cart->getDiscounts();
           $total_free_ship =  $free_ship - ($summary['total_products_wt'] + $summary['total_discounts']);
           foreach ($discounts as $discount)
               if ($discount['id_discount_type'] == 3)
               {
                   $total_free_ship = 0;
                   break ;
               }
           $smarty->assign('free_ship', $total_free_ship);
       }
       $smarty->assign($summary);
       $token = Tools::getToken(false);
       $smarty->assign(array(
           'token_cart' => $token,
           'voucherAllowed' => Configuration::get('PS_VOUCHERS'),
           'HOOK_SHOPPING_CART' => Module::hookExec('shoppingCart', $summary),
           'HOOK_SHOPPING_CART_EXTRA' => Module::hookExec('shoppingCartExtra', $summary),
           'shippingCost' => $cart->getOrderTotal(true, 5),
           'customizedDatas' => $customizedDatas,
           'CUSTOMIZE_FILE' => _CUSTOMIZE_FILE_,
           'CUSTOMIZE_TEXTFIELD' => _CUSTOMIZE_TEXTFIELD_,
           'lastProductAdded' => $cart->getLastProduct()
           ));
       Tools::safePostVars();
   } 



/* SSL Management */
$useSSL = true;


include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../header.php');
include(dirname(__FILE__).'/bankwire.php');




if (!$cookie->isLogged())
   Tools::redirect('authentication.php?back=order.php');
$bankwire = new BankWire();

$summary = createSummary();
echo $bankwire->execPayment($cart);

include_once(dirname(__FILE__).'/../../footer.php');

?>


Ich habe den snipsel an verschiedensten positionen probiert immer der gleiche fehler.
Was mache ich falsch?????
hmmm...

mfg Sakis

Link to comment
Share on other sites

Files: Zusammenfassung vor Bestellbestätigung

bei den *.tpl.txt das txt hinten löschen, aber ohne lässts mir das forum nicht hochladen.

wo gehören die dateien hin?
/themes/{dein theme}/
shopping-summary-product-line.tpl
shopping-summary.tpl

/classes/
Order.php

/modules/bankwire/
kann natürlich auch in einer anderen bezahlart verwendet werden, dann müssen aber die referenzen zu bankwire umgeschrieben werden.
payment_execution.tpl
payment.php

payment.php

Order.php

payment_execution.tpl.txt

shopping-summary.tpl.txt

shopping-summary-product-line.tpl.txt

Link to comment
Share on other sites

Hallo,

danke erstmal für die Files.

ich habe die Files so übernohmen, jetzt geht es zwar weiter, die Funktion wird ausgeführt.

aber das Bild kann nicht angezeigt werden. Fatal Error siehe das Bild im Anhang.

Dan habe ich das Theme neu installiert, habe Bankwire neu istalliert und meine veränderte Dateien neu installiert.
Ich dachte ich habe mir was geschossen.
So, anschliessend habe ich deine Dateien wieder Installiert, Fehler bleibt bestehen.

Fatal error: Call to undefined method

Ich werde langsam verrückt, hat es bei euch ohne Probs geklapt?

mfg
Sakis

7222_mbgSUfaTGtOCcI4z2dh5_t

Link to comment
Share on other sites

Hallo,

jetzt versuche ich schon seit par Tage in der Bestellübersicht die MwSt anzuzeigen.
Den Fix von beate habe ich schon Probiert im Warenkorb funktioniert es.
In der Bestellübersicht leider nicht.

Ich verzweifle .......

Wer kann helfen?

Ich bedanke mich im vorraus.

mfg
Sakis

Link to comment
Share on other sites

  • 2 weeks later...

Hallo,
danke erstmal an alle die, die Tips bereitstellen.

Schaut euch das kleine Video über den Shop mal an. (.txt entfernen)

Kann man die Bestellreihenvolge so ablaufen lassen?
Hab da mal was gebastellt.
Wenn das so rechtens ist, stelle ich die dateien gerne zur Verfügung.

mfg
Sakis

shop.mp4.txt

Link to comment
Share on other sites

Hi,

sieht schon recht gut aus. Beim letzten Schritt- Bestätigung von AGB und Widerrufsbelehrung - sind da AGB und Belehrung verlinkt? Sah mir nicht so aus und man muss sehen können, was man bestätigt.

Link to comment
Share on other sites

Ich habe mal etwas nachgeforscht: AGB und Widerrufsbelehrung müssen nur optisch voneinander getrennt sein (Widerrufsbelehrung in AGB verstecken geht zwar, ist aber sinnlos, da die Belehrung kein Vertragsbestandteil ist).

Also denke ich, das das so in Ordnung geht. Bestätigen muss der Kunde eh beides und so kann er beides auch getrennt einsehen.

Link to comment
Share on other sites

hallo. ich hab ne kurze frage.. wie kann ich die Datei von
Sakis2000
auf deutsch übersetzten ?? habe es jetzt in der tmp übersetzt aber dann ist es wenn ich auf englisch umstelle auch auf deutsch????Über die Modulübersetzung finde ich es auch nicht :( danke


*edit ok habs gefunden ist natürlich kein modul :P sondern ne front office übersetzung

Link to comment
Share on other sites

ok nächstes problem .. funktioniert alles soweit aber wenn ich auf “ich bestätige meine bestellung” klicke kommt die fehlermeldung “ Anlegen der Bestellung ist fehlgeschlagen” (vorher wars nicht so) woran kann das liegen ich vermute die datei order.php … weis jemand rat

Link to comment
Share on other sites

Hallo,

das gleiche Prob hatte ich auch einmal gehabt.
Ich weis aber nicht mehr mit welchen Zusammenhang.
Ich kann es dier aber nicht mehr 100% sagen.
ich hatte von bereits modifizierte Dateien wieder die Original Dateien draufgespielt.
Dann wieder alles neu angepasst.
Und siehe da, es funktionierte.

mfg
Sakis

Link to comment
Share on other sites

ok nächstes problem .. funktioniert alles soweit aber wenn ich auf “ich bestätige meine bestellung” klicke kommt die fehlermeldung “ Anlegen der Bestellung ist fehlgeschlagen” (vorher wars nicht so) woran kann das liegen ich vermute die datei order.php … weis jemand rat


Das genannte Problem habe ich leider auch. Gibt es bereits eine Lösung? Danke!
Link to comment
Share on other sites

hi
viva
hier wird doch keiner sowas suchen
es geht hier um die rechtssicherheit im allgemeinen
und hier ging es bisher um 1.1

für andere fragen mache doch um deiner selbst willen einen neuen threat mit genauen titel
sonst kriegst du nie antwort

sd

Link to comment
Share on other sites

  • 1 month later...
thomashas - 12 May 2009 09:27 AM
ok nächstes problem .. funktioniert alles soweit aber wenn ich auf “ich bestätige meine bestellung” klicke kommt die fehlermeldung “ Anlegen der Bestellung ist fehlgeschlagen” (vorher wars nicht so) woran kann das liegen ich vermute die datei order.php … weis jemand rat


Das genannte Problem habe ich leider auch. Gibt es bereits eine Lösung? Danke!


das problem habe ich auch gerade... gibts eine lösung???
Link to comment
Share on other sites

  • 3 months later...

Ein schönes Hallo aus Österreich!


Und nein in Österreich sind die Anforderungen an den Webshop nicht gleich wie in Deutschland - auch gibt es bei uns den "Abmahnwahn" nicht.
Bei uns gibt es eher recht extreme Bestimmungen was das Impressum (Offenlegung gem. ECG, MedG etc. ) betrifft.
Natürlich sind teilweise die Dinge die in Deutschland gefordert werden durchaus sinnvoll um einen kundenfreundlichen aussagekräftigen Shop zu gestalten.

Für alle die Sich informieren wollen sowie auch Shop- Neueinsteiger hänge ich mal ein PDF mit den entsprechenden Anforderungen an.


So, dass war mein erstes Posting

LG
zbernhard

webauftritt_checkliste2c.pdf

Link to comment
Share on other sites

  • 2 weeks later...

Anmerkung zu Fix: Kunde kann Konto selbst löschen

Habe das ausprobiert, funktioniert auch soweit. Aber wenn ein Kunde bei der Anmeldung kein Geburtsdatum eingegeben hat, bekomme ich eine Errormeldung, das nicht ausgefüllte Geburtsdatum sei das falsche Geburtsdatum...und dann kann der sich leider nicht abmelden.

Gibt es da eine Lösung?

Link to comment
Share on other sites

Hallo,

ich wollte nur kurz anmerken, dass "Konto löschen" kein Muss ist. Es reicht, wenn der Kunde mit dem Shopbetreiber Kontakt aufnehmen kann und ihn auffordert, seine Kundendaten zu löschen. Diese Möglichkeit ist gegeben.

Link to comment
Share on other sites

  • 1 year later...
  • 1 month later...

Hallo,

Ich habe ebenfalls 1.3.2.3 installiert und würde gerne die Bestellzusammenfassung und andere Fixes mitaufnehmen.
Dazu wäre es hilfreich zu erfahren ob der Fix auch bei dieser Version funktioniert oder nur für 1.1 bestimmt ist.

Beste Grüße,
Jusche

Link to comment
Share on other sites

  • 2 months later...

Der Thread ist ja schon älter, aber teilweise ja leider immer noch aktuell.
Mir ist aufgefallen, dass für die Anpassung an Prestashop 1.4 ein paar Änderungen nötig sind.

Beim Fix: Zusammenfassung vor Bestellbestätigung z.B. muss folgende Zeile in
modules/{bezahlmodul}/payment_execution.tpl

jetzt mit Anführungszeichen versehen werden, sonst gibts nur ne weiße Seite:

{include file="$tpl_dir./shopping-summary.tpl"} 




Außerdem wäre es auch wünschenswert, wenn in der order_conf email, also der Bestellbestätigung, auch die MwSt angezeigt wird.

/classes/PaymentModule.php
um Zeile 364 einfügen:

$total_tax = $order->total_products_wt - $order->total_products;


um die Zeile 404 rum dann noch folgendes einfügen:

'{total_wrapping}' => Tools::displayPrice($order->total_wrapping, $currency, false, false),
         '{total_tax}' => Tools::displayPrice($total_tax, $currency, false, false));    



Nun kann man unter
/mails/de/order_conf.html bzw /mails/de/order_conf.txt mit

{total_tax}


die MwSt für die gesammten Produkte der Bestellung ausweisen. Falls MwSt vom Versand dazu kommt muss die Berechnung in Zeile 364 noch angepasst werden

Link to comment
Share on other sites

  • 1 year later...

Ich möchte mal das Gras abfressen.

Kann mal wer was zur Version 1.4.9.0. sagen?

Ich hab gesehen, das der Programmcode da zum Teil anders ist.

Und wild darin rumhacken ist nicht mein Ding.

Muss ich denn für Endverbraucher die Mehrwerksteuer schon bei der Bestellung anzeigen? Ist das nicht für die unrelevant?

Wenn ich es muss, ist die Frage, wie ich das bei der 1.4.9.0 machen muss.

 

Es wäre cool, wenn mal wer diesen Bereich auf die aktuelle Version anpassen würde. :(

Link to comment
Share on other sites

Warum gräbst du einen Uralt Post aus, der für eine PS-Version 1.2. ist ? Unter den Fixe für DE findest du die nötige Anpassung für die Bestellzusammenfassung - 1-Button-Fix.

 

http://www.prestasho...ab-14x-bis-149/

 

Der Ausweis der MwSt. im Warenkorb und Rechnung ist im übrigen Standard seit PS 1.3.1.1.

 

Halte dich bitte an die Kategorie Fixe für DE und grabe keine alten Posts aus dem Jahre Schnee aus.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...