Benutzerdefinierte Felder erscheinen nicht im Warenkorb (Kategorieübersicht)

  • Hallo,


    habe ein kleines Problem. In der Kategorieübersicht wird unter meinen Produkten "In den Warenkorb" angezeigt, die Option in der VM Konfiguration "Benutzerdefinierte Felder von Produkten auf Übersichtsseiten anzeigen" habe ich in Bezug auf eine bessere Übersicht deaktiviert. Leider ist es nun so, dass der Kunde bei Klick auf "In den Warenkorb" das jeweilige Produkt OHNE eine Geschmacksrichtung im Warenkorb liegen hat, denn die benutzerdefinierten Felder erscheinen erst in der Produktdetailansicht, sprich nach Klick auf das Produkt.


    Ich würde nun gerne Produkte die benutzerdefinierte Felder haben nicht gleich in den Warenkorb legen lassen, sondern bei Klick auf "In den Warenkorb" auf die Produktdetailansicht zu gelangen.


    Ist hier wirklich keine Standardeinstellung in VM dafür gegeben? By the way, ich nutze Joomla 3.7.5 mit VM 3.2.2.


    Danke im Voraus.

  • Servus,


    einige Templates bieten einen Schalter dafür in den Template-Einstellungen. Vielleicht findest Du dort schon die Lösung.


    Ansonsten schau einmal in Deinem Template, ob es dort den Ordner /sublayouts/ gibt.
    templates/mein_template/html/com_virtuemart/sublayouts/


    Wenn Du dort eine Datei mit dem Namen products.php findest, bearbeite diesen "Override".
    Wenn die Datei dort nicht ist, kopiere sie aus
    components/com_virtuemart/sublayouts dorthin.


    In der Datei findest Du einen Bereich, der wahrscheinlich so aussieht:


    PHP
    1. <?php //echo $rowsHeight[$row]['customs'] ?>
    2. <div class="vm3pr-<?php echo $rowsHeight[$row]['customfields'] ?>"> <?php
    3. echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product,'rowHeights'=>$rowsHeight[$row], 'position' => array('ontop', 'addtocart'))); ?>
    4. </div>


    Du könntest das echo auskommentieren, weches das Sublayout addtocart aufruft oder den gesamten Bereich entfernen.

    PHP
    1. <?php //echo $rowsHeight[$row]['customs'] ?>
    2. <div class="vm3pr-<?php echo $rowsHeight[$row]['customfields'] ?>"> <?php
    3. // echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$product,'rowHeights'=>$rowsHeight[$row], 'position' => array('ontop', 'addtocart'))); ?>
    4. </div>


    Grüße
    Stefan

  • Hallo Stefan,


    die Datei ist vorhanden, wenn ich den gesamten Bereich entferne ist jedoch der Warenkorb Button in der Kategorieübersicht komplett raus... Ich möchte eigentlich nur, dass die Produkte mit benutzerdefinierten Felder bei Klick auf "In den Warenkorb" IMMER zuerst in die Produktdetailansicht wechseln (um eine Variante wie Geschmack, Größe auswählen zu können), Produkte OHNE benutzerdefinierte Felder sollten ganz normal in den Warenkorb gelegt werden können.


    Alternative wäre noch die direkte Weiterleitung von "In den Warenkorb" zu deaktivieren und dafür IMMER in die Produktdetailansicht zu wechseln. Wie ist das denn generell in VM, habe ich nur ich das Problem bei benutzerdefinierten Felder oder wie wird die Problematik hier gehandhabt?

  • Servus,


    das Einfachste wäre, ein Sublayout products_ohnebutton.php anzulegen, im gleichen Ordner speichern wie die products.php.


    Wenn die Produkte mit selbsterstellten Feldern alle in einer Kategorie sind, könnte man dieser Kategorie in den Kategorieeinstellungen das neue Layout ohne Button zuweisen.
    Das neue Layout erscheint in der Dropdown-Auswahl in den Kategorieeinstellungen, bzw. in den Einstellungen der Menüverweise auf die Kategorien, sofern die Datei products_irgendwas.php heißt, also ein Präfix "products_" hat.


    Ansonsten müsste man Abfragen einbauen, ob selbsterstellte Felder vorhanden sind. Das wird allerdings etwas komplizierter.


    Grüße
    Stefan

  • Morgen Stefan,


    ich glaube du verstehst mich da falsch ;-) Der Button soll schon immer sichtbar sein, und nein die Produkte sind nicht alle in einer Kategorie sondern in untertschiedlichen. Ich denke nun aber fast, dass deine 1. Lösung am sinnvollsten wäre, sprich den Button in der Kategorieansicht einfach auszublenden und nur in der Detailansicht anzeigen zu lassen, denn der Aufwand um "nur" Produkte mit benuntzerdef. Feldern weiterleiten zu lassen ist einfach zu enorm.


    Gibt es von Haus aus eine Möglichkeit in Joomla den Warenkorbbutton in den Kategorieansichten zu deaktivieren? Habe es zwischenzeitlich mit dem Auskommentieren von "echo" gelöst.

  • Servus,


    ich glaube, ich verstehe Dich schon. Der Button, den Du meinste, der heißt "Details"-Button. Dieser Button führt zu den Produktdetails.


    Dir steht natürlich frei, den Button auch "In den Warenkorb" zu nennen.


    Einmal brauchst Du den echten "In den Warenkorb", einmal den "Details"-Button. Im Standard-Design sind beide Button vorhanden, deshalb sprach ich davon, den "In den Warenkorb"-Button zu entfernen und nur den Details-Button anzuzeigen.


    Das ist der Details-Button in der products.php:

    PHP
    1. <div class="vm-details-button">
    2. <?php // Product Details Button
    3. $link = empty($product->link)? $product->canonical:$product->link;
    4. echo JHtml::link($link.$ItemidStr,vmText::_ ( 'COM_VIRTUEMART_PRODUCT_DETAILS' ), array ('title' => $product->product_name, 'class' => 'product-details' ) );
    5. ?>
    6. </div>