konair Posted November 7, 2012 Report Share Posted November 7, 2012 Hi, für xtc 3.04 gibt es ein Modul namens "Komfortabler Warenkorb". (siehe hier http://www.***************************************************************.de/2008/09/komfortabler-warenkorb/) Da sind ja einige nützliche Dinge dabei: +/- Buttons zur Mengensteuerung Löschbutton zum gezielten löschen eines Artikels Änderung der ersten Artikeloption direkt möglich Zusatzverkäufe durch Promotionartikel unterhalb des Warenkorbs Gibt es so ein Plugin auch für veyton? Oder wer hat eine Lösung, diese vier genannten Punkte umzusetzen in veyton? Danke! Link to comment Share on other sites More sharing options...
quinlynn Posted May 11, 2013 Report Share Posted May 11, 2013 Auch wenn schon länger her: Ich wäre also auch interessiert ;-) Wie krieg ich anstelle der Checkbox ein Icon hin, mit welchem man einzelne Artikel aus dem Warenkorb rauslöscht? Danke für eure Rückmeldung! Link to comment Share on other sites More sharing options...
Sentor77 Posted May 13, 2013 Report Share Posted May 13, 2013 Moin, ich habe dafür eine javaScript Lösung eingesetzt. Da ich das jQuery Framework eh für mein Template nutze, habe ich dieses auch für den Warenkorb eingesetzt. Folgendes habe ich dafür gemacht: Dem Form habe ich eine ID gegeben: {form type=form name=cart action='dynamic' link_params=getParams method=post conn=SSL id='updateForm'} [/HTML] Anstelle der Checkbox habe ich meine gewünschte Grafik eingebunden: [HTML] <span id="products_remove_{$data.products_id}" class="cursor"><img src="templates/DEINTEMPLATE/img/template/cart/button_entfernen.jpg" border="0" /></span><span class="cart_product_remove_btn">{txt key=TEXT_REMOVE}</span> [/HTML] Und folgendes javaScript kommt zum Einsatz: [HTML] <script type="text/javascript"> $('#products_remove_{$data.products_id}').click(function() {ldelim} $('#{$data.products_id}').val(function(i,val) {ldelim} return 0; {rdelim}); $('#updateForm').submit(); {rdelim}); </script> [/HTML] Zusätzlich habe ich noch einen +/- Butten um das Mengenfeld gelegt und nach gleicher Art wie oben beschrieben das passende javaScript zu geschrieben. [HTML] {rdelim} [/HTML] und [HTML]{ldelim}[/HTML] sind müssen in Smarty für die geschweiften Klammern im javaScript gesetzt werden. LG Link to comment Share on other sites More sharing options...
quinlynn Posted May 13, 2013 Report Share Posted May 13, 2013 Oh wow super, vielen Dank. Das muss ich gleich ausprobieren! Noch eine kleine Frage, könntest Du mir kurz sagen, wo genau in welche Datei ich welchen Code eintragen muss? Also "anstelle Checkbox" und das "+/-" kommt in die cart.html, nehme ich an. Aber wo binde ich das Java Script ein? Und den "Form" Code finde ich auch in der Datei cart.html? Liebe Grüsse quinlynn Link to comment Share on other sites More sharing options...
Sentor77 Posted May 13, 2013 Report Share Posted May 13, 2013 Moin, im Prinzip habe ich alles in die cart.html geschrieben. Habe das Javascript nicht ausgelagert, da ich die Produkt-ID aus den Smarty Template brauche um auch das richtige Formular anzusprechen. Wie gesagt, für die Lösung ist es wichtig, dass du das jQuery Framework in deine Seite einbindest. Ohne das Framework läuft diese Lösung nicht. LG Link to comment Share on other sites More sharing options...
quinlynn Posted May 13, 2013 Report Share Posted May 13, 2013 Ok vielen lieben Dank! Blöde Frage, aber wie binde ich "jQuery Framework" in meine Seite ein, oder wo kann ich prüfen, ob ich das bereits nutze? Link to comment Share on other sites More sharing options...
Sentor77 Posted May 13, 2013 Report Share Posted May 13, 2013 Schaue dir den Quellcode deines Shops an (Firefox STRG+U) und schau ob im Head der Seite irgendwas mit jQuery steht. Wenn nicht, und du eine Shop-Version unter 4.1 benutzt, dann lade dir das Framework herunter (http://jquery.com), lade es auf deinen Server und schreibe es in deinem Template in die templates/DEINTEMPLATE/javascript/js.php[/CODE] z.B. so: [HTML] <script type="text/javascript" src="<?php echo _SYSTEM_BASE_URL . _SRV_WEB; ?>xtFramework/library/jquery/jquery-1.8.2.min.js"></script> [/HTML] (Bitte Pfad und Dateinamen anpassen). Solltest du die 4.1 von Veyton nutzen, kannst du jQuery im Backend einfach aktivieren. LG Link to comment Share on other sites More sharing options...
quinlynn Posted May 13, 2013 Report Share Posted May 13, 2013 Also so wie ich das sehe ist jQuery aktiviert. Ich arbeite mit 4.1. Habe nun den Delete Button eingebunden, allerdings kann man nun nicht darauf klicken? Woran liegt das? Was habe ich falsch gemacht? Wo überprüfe ich im Backend, ob jQuery aktiviert ist? Im Quelltext des Templates, steht: http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js[/HTML] Und in der "templates/DEINTEMPLATE/javascript/js.php" steht: [HTML]<script type="text/javascript" src="<?php echo _SYSTEM_BASE_URL . _SRV_WEB; ?>xtFramework/library/jquery/jquery-1.2.6.min.js"></script> [/HTML] Link to comment Share on other sites More sharing options...
Sentor77 Posted May 13, 2013 Report Share Posted May 13, 2013 Nimm das im Template raus. Sonst wird jQuery 2x eingebunden und dann auch noch unterschiedliche Versionen. Kannst du nicht klicken oder wird nur der Pinter nicht dargestellt, der sonst bei einem klickbaren Link erscheint? Schau mal ob die entsprechenden Zeilen im Quelltext ungefähr so aussehen: <span id="products_remove_12" class="cursor"><img src="templates/DEINTEMPLATE/PFADZUMBILD/button_entfernen.jpg" border="0" /></span><span class="cart_product_remove_btn">Entfernen</span>[/HTML] Link to comment Share on other sites More sharing options...
quinlynn Posted May 13, 2013 Report Share Posted May 13, 2013 Da steht bei mir folgendes: <span id="products_remove_1568" class="cursor"><img src="templates/xt_default_new/img/delete.gif" border="0" /></span><span class="cart_product_remove_btn">Entfernen</span>[/HTML] Wie kann ich die Quellcodes rauslöschen, also damit nicht zuviel jQuery eingebunden wird? Wenn ich mir den Quellcode anschaue, steht das dort mehrmals in verschiedenem Zusammenhang (hab dir eine PN geschickt mit URL). In meiner js.php steht: [HTML]<script type="text/javascript" src="<?php echo _SYSTEM_BASE_URL . _SRV_WEB; ?>xtFramework/library/jquery/jquery-1.2.6.min.js"></script> <script type="text/javascript" src="<?php echo _SYSTEM_BASE_URL . _SRV_WEB; ?>xtFramework/library/jquery/thickbox-compressed.js"></script>[/HTML] Link to comment Share on other sites More sharing options...
Sentor77 Posted May 13, 2013 Report Share Posted May 13, 2013 Lösche <script type="text/javascript" src="<?php echo _SYSTEM_BASE_URL . _SRV_WEB; ?>xtFramework/library/jquery/jquery-1.2.6.min.js"></script>[/HTML] bzw. kommentiere es aus: [HTML]<!-- <script type="text/javascript" src="<?php echo _SYSTEM_BASE_URL . _SRV_WEB; ?>xtFramework/library/jquery/jquery-1.2.6.min.js"></script> -->[/HTML] LG Link to comment Share on other sites More sharing options...
Sentor77 Posted May 14, 2013 Report Share Posted May 14, 2013 Moin, für alle die an eine funktionierende Lösung interessiert sind hier jetzt ein Vorschlag, der mit einer Standard-Installation funktioniert ohne über Plugin etwas an den Sourcen ändern zu müssen: Ausgehend vom Standard Template müsst ihr zunächst einmal die Checkbox entfernen {form type=checkbox name=cart_delete[] value=$data.products_key} [/HTML] Anschließend fügt ihr ein unsichtbares Feld hinzu und vergebt eine id: [HTML] {form type=hidden name=cart_delete[] value=0 id=$data.products_id} [/HTML] Ich habe mich für die Artikel ID entschieden, da diese nirgends als ID verwendet wird und in dem Kontext eindeutig ist. Fügt nun eure Löschgrafik ein: [HTML] <span id="products_remove_{$data.products_id}" class="cursor"><img src="templates/EUERTEMPLATE/PFAD/ZUR/GRAFIK/button_entfernen.jpg" border="0" /></span><span class="cart_product_remove_btn">{txt key=TEXT_REMOVE}</span> [/HTML] Folgendes javaScript stößt dann das Löschen an: [HTML] <script type="text/javascript"> $('#products_remove_{$data.products_id}').click(function() {ldelim} $('#{$data.products_id}').val('{$data.products_key}'); $('#updateForm').submit(); {rdelim}); </script> [/HTML] WICHTIG!!: Alle Elmente die hier ins Template eingefügt werden, inklusive des javaScripts , müssen sich innerhalb von [HTML] {foreach name=aussen item=data from=$cart_data} {/foreach} [/HTML] befinden. Die zu bearbeitende Datei ist die cart.html Ich hoffe das hilft den einen oder anderen weiter. LG Link to comment Share on other sites More sharing options...
aschieferbein Posted June 12, 2013 Report Share Posted June 12, 2013 Hi Sentor77, ich habe es genau so gemacht wie du geschrieben hast, aber leider scheint bei dem JQuery nicht korrekt zu sein. Ich bekomme immer folgende Fehlermeldung. Error: Syntax error, unrecognized expression: #products_remove_{$data.products_id} [Bei diesem Fehler anhalten] ...){var t=e.nodeName.toLowerCase() return"input"===t&&"button"===e.type||"button"=... Dann habe ich mal noch eine Frage, vielleicht bist du ja so gnädig und beantwortest mir diese.. products_remove_{$data.products_id} Wie kommst du du auf solche Begriffe? $data.products_id <-- ist klar, die Smarty Eigenschaft oder Variable in $data, richtig? products_remove_ <-- soll das einfach nur eine ID sein? Ich würde gern mehr hinter diese ganze Thematik steigen, aber man findet leider recht wenig im Netz dazu und hier im Forum sind solche Thematiken auch nicht alltäglich. Ach und noch etwas, die ID #UpdateForm gibt es bei mir garnicht! Ich nutze Version 4.16.0 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.