Jump to content
xt:Commerce Community Forum

Komfortabler Warenkorb


konair

Recommended Posts

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

  • 6 months later...

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

Oh wow super, vielen Dank. :D 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

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

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

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

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

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

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

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

  • 5 weeks later...

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

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...