Kasse-Button URL ändern

  • Hallo zusammen, ich bin neu hier im Forum, habe mich aber aufgrund der vielen Informationen angemeldet und finde es super, dass es so ein tolles deutschsprachiges Forum gibt.


    Leider habe ich ein kleines Problem und komme an einem Punkt nicht weiter mit meinem Virtuemart.


    Zuerst einmal meine installierten Versionen:


    Joomla 3.7.5
    Virtuemart 3.2.2
    Homepage: http://www.audiodistribution.ch


    Die Frage ist für VM-Spezies sicherlich einfach.
    Ich habe bei der Benutzerregistrierung die Verlinkungen auf


    <a href="<?php echo JRoute::_('index.php?option=com_virtuemart&view=user&layout=edit'); ?>">


    abgeändert. Damit kommt man beim Klick wunderbar auf die Verwaltung der Daten. Wenn ich jedoch auf den Kasse-Button klicke. bekomme ich ein anderes Formular. Meine Frage wäre nun, wo ich die Verlinkung des Buttons ändern kann.
    In com_virtuemart/users habe ich leider keinen passenden Eintrag gefunden bzw. ihn nicht erkannt.
    In der default-login.php bzw. mod-login/default.php war das ja ganz einfach.
    Ich hoffe jemand kann mir einen Tipp geben, da ich echt nicht weiter komme ...
    Auch die Suche übers Web/Forum hat mir keine Lösung gebracht.

  • Servus,


    die Weiterleitung des Kasse-Buttons scheint zur Bearbeitung der Rechnungsadresse (VM-Daten) (edit-address) zu gehen, während der geänderte Verweis die Bearbeitung des Kundenkontos (Joomla- und VM-Daten) (edit) ist.


    Ist in der VirtueMart-Konfiguration unter Kasseneinstellungen eingestellt, dass nur registrierte Benutzer auschecken dürfen oder ist auch Gastbestellung erlaubt?


    Evtl. wird anders geleitet, wenn die Gastbestellung aus ist. Allerdings bin ich nicht 100% sicher. Um diesen Dingen aus dem Weg zu gehen, installiere ich bei den meisten meiner Kunden den One Page Checkout von VirtuePlanet.com.


    Grüße
    Stefan

  • Hallo,
    danke für die Rückantwort. Es dürfen nur registrierte Benutzer auschecken. Jedoch bringt eine Umstellung auf Gastbestellung keine Änderung. Alle Buttons leiten korrekt weiter, nur eben der Kasse-Button nicht. Die Verlinkung müsste ja irgendwo hinterlegt sein. Danke für den Tipp mit dem One Click Checkout. Jedoch versuche ich möglich wenige Zusatz Plugins zu installieren. Habe da des öfteren schlechte Erfahrungen gemacht bezüglich kompatibilität bei Aktualisierungen bzw. Upgrades auf neue Versionen, da diese dann manchmal nicht mehr funtionieren.


    Habe auch ein verstecktes Benutzermenü angelegt bezüglich der Virtuemart Kontenpflege. Seitdem hat sich auch der Link in der Adresszeile etwas geändert.

  • Servus,


    in meinem Warenkorb mache ich es so, dass ich nur zwei Schaltflächen zur Verfügung stelle.
    "Adresse eingeben" und "Einloggen", der Weiter/Zur Kasse-Button wir nicht angezeigt, wenn der Kunde das erste Mal in den Warenkorb kommt, bzw. keine Adresse vorhanden ist/der Käufer nicht angemeldet ist.
    Damit erledigt sich auch die "falsche" Weiterleitung. Der Eingriff ist allerdings im PHP-Code nötig und bedarf eines/mehrerer Overrides.


    Der Link bzw. die Weiterleitung geschieht über die versteckten input-Elemente, die auf hidden stehen. Die Werte werden bei Übertragung des Formulars weitergegeben und beeinflussen, welche View bzw. welches Layout geladen wird.
    Ich habe mir allerdings bisher nicht die Zeit genommen, genau zu untersuchen, was wann wo auftaucht und wo es herkommt.


    Wie bereits angedeutet, den OPC von VirtuePlanet hab ich bei vielen Kunden seit Jahren drin, und die einzige Arbeit ist die Konfiguration zu Anfang und seit mehreren Jahren ein Klick auf Update, wenn es eine neue Version gibt.


    In meinem Shop habe ich ihn nur deshalb nicht, weil ich selbst zu lange an meinem Warenkorb gebastelt habe.


    Grüße
    Stefan

  • Hallo,
    die Weiterleitung des Kasse Buttons selbst habe ich auf die cart.php eingrenzen können. Diese verweist auf die edit_adress.php in view/user. Jetzt weiss ich nur nicht wo ich die Änderung machen muss. Hab schon vieles durchprobiert, jedoch gab es keinen Erfolg. Ich muss sagen, ich bin auch nicht der professionelle Coder für solche Sachen, bisher hab ich es jedoch immer hinbekommen. Aber diesmal hänge ich bei der Homepage an drei Fehlern fest. Wobei der hier einer der wichtigsten ist, da ja eigentlich jeder Käufer auf "zur Kasse" klickt. Jedoch bekommt er über das derzeitige Formular nach Eingabe den Hinweis, dass er sich erst registrieren muss. Dies ist für den Enduser natürlich nicht sehr erfreulich, da er dann die Daten erst mal umsonst eigegeben hat.


    Hier mal die edit_adress.php




    Da darin der Name Milbo steht gehe ich davon aus, es könnte der Moderator Milbo dieses Boards sein ...


    Ich habe mehrere BT's in dem Scrip. Sollte ja BillTo bedeuten (denke ich zumindest). Dies ist auch in meiner Adresszeile der Page zu finden. Jetzt wäre nur noch die Frage was hier geändert werden muss um eben auf meine Registrierungsseite zu kommen, auf der Login und Adresse gleichzeitig bearbeitet werden können. Hat es eigentlich irgendeinen Nachteil, die Joomla-Reg für VM mitzubenutzen. Ich meine da mal etwas gelesen zu haben. Jedoch möchte ich nicht mit Gastbestellungen arbeiten, von daher ist das so sicherlich korrekt, oder?


    Gruss Stefan

  • Hallo zusammen, ich bin neu hier im Forum, habe mich aber aufgrund der vielen Informationen angemeldet und finde es super, dass es so ein tolles deutschsprachiges Forum gibt.


    Danke, es gibt noch das Hauptforum, welches auf english ist forum.virtuemart.net und die "Allgemeinen Konzepte" auf englisch https://docs.virtuemart.net/manual/general-concepts.html



    Joomla 3.7.5
    Virtuemart 3.2.2
    Homepage: http://www.audiodistribution.ch


    Es gibt seit gestern eine neue Vers



    Ich habe bei der Benutzerregistrierung die Verlinkungen auf


    <a rel="nofollow" href="<?php echo JRoute::_('index.php?option=com_virtuemart&view=user&layout=edit'); ?>">


    abgeändert. Damit kommt man beim Klick wunderbar auf die Verwaltung der Daten. Wenn ich jedoch auf den Kasse-Button klicke. bekomme ich ein anderes Formular.


    Da hängts bei mir schon. "Bei der Benutzerregistrierung" => ich bin bereits in der Account ansicht. Wieso willst du da wieder hinleiten? In welcher Datei hast du welche Schaltfläche geänderert?
    und wozu das ganze? Ich habe das Gefühl, das der normale Warenkorb Prozess nicht klar ist.


    Also, wenn man auf den Warenkorb klickt und man ist nicht angemeldet, dann kann man immer einfach den "Zur Kasse" Knopf drücken. Dann wird man automatisch durch die Schritte geführt.
    Wenn keine Adresse vorhanden ist wird man automatisch auf die Benutzerregistrierung umgeleitet. Schalte mal das SEF ab und du wirst merken, du bist in index.php?option=com_virtuemart&view=user&task=editaddresscart&addrtype=BT. Du bist also bereits in der Benutzeransicht, nur im speziellen Warenkorb layout "edit_adress", welches sich die anderen 2 unterlayouts von edit_address_ mit edit_shopper teilt! Das heißt ändert man etwas in den Layouts edit_address_addshipto bzw edit_address_userfields, dann ändert sich auch die normale Kontenansicht.
    So und je nachdem, ob man "Zur Kasse" gedrückt hat, oder "Adresse eingeben/bearbeiten" wird weiter verfahren. In beiden Fällen kommt man zurück zum Warenkorb, nur der Status des Warenkorbs ist unterschiedlich. Letzendlich wird jedesmal, wenn man den Warenkorb aufruft, dieser gecheckt. Die Frage ist nur, ob die gesetzten Weiterleitungen ausgeführt werden, oder nicht. Hat man "Zur Kasse" geklickt, wird die Weiterleitung ausgeführt. Das heißt, man wird direkt Weitergeleitet zum Versand bzw zur Bezahlmethode.


    Der Core händelt also die Weiterleitungen im Cartobjekt selber. Es gibt allerdings eine Stelle, da macht es Sinn, ins System einzugreifen. GJC hat im .net forum erklärt, daß er die Joomla Registrierung umleitet, da sie für Hacker selbst dann nutzbar ist, wenn man gar keine Form für die Registrierung bereitstellt.


    Der Warenkorb ist seit VM3 ein "Onepagecheckout" mit der Ausnahme der Adresseneingabe. Durch das obig erklärte System, kann man den Warenkorb Prozess auch relativ einfach selber umgestalten. Ich habe wirklich schon sehr viele Warenkörbe gesehen. Z.b. in Deutschland ist es sehr beliebt, ein login layout vorzuschalten und direkt in den Prozess mit Schritten einzusteigen.



    Meine Frage wäre nun, wo ich die Verlinkung des Buttons ändern kann.
    In com_virtuemart/users habe ich leider keinen passenden Eintrag gefunden bzw. ihn nicht erkannt.
    In der default-login.php bzw. mod-login/default.php war das ja ganz einfach.
    Ich hoffe jemand kann mir einen Tipp geben, da ich echt nicht weiter komme ...
    Auch die Suche übers Web/Forum hat mir keine Lösung gebracht.


    Der Vollständigkeit halber. Das ganze ist im sublayout "login". Dieses nimmt entweder die momentane Url, oder die in "$this->url", ich habe dafür die Funtion shopFunctionsF::getLoginForm($cart = FALSE, $order = FALSE, $url = '', $layout = 'login') geschrieben.


    Die Funktion entscheidet, ob sichtbar oder nicht. Naja, letzendlich aus legacy gründen dort, denn dort sind 3 Zeilen entscheidend.

    Code
    1. if(!class_exists( 'VirtuemartViewUser' )) require(VMPATH_SITE.DS.'views'.DS.'user'.DS.'view.html.php');
    2. $view = new VirtuemartViewUser();
    3. $body = $view->renderVmSubLayout($layout,array('show' => $show, 'order' => $order, 'from_cart' => $cart, 'url' => $url));


    und hier mußte die URL fürn redirect ändern. Denn die Loginform von Joomla beinhaltet die URL base64 enkodiert. Da die Form das joomla "login module" aufruft und von dort wieder auf der ursprünglichen Seite landen soll.


    Ich fürchte nur, du meinst ganz andere Buttons, lol. Aber wie eingangs erklärt, ich habe da Probleme zu verstehen, was du genau meinst.


    Die beiden Schaltflächen "Registrieren und zur Kasse begeben" und "Als Gast auschecken" nutzen imho die "action" vom formular. Aber wie gesagt, es gibt keine Gründe das mal eben abzuändern. Da begibt man sich schnell in Teufelsküche, wenn man sich nicht klar ist, was vorliegt, was man erreichen will, und wie man es umsetzt.

  • Hallo Milbo,


    danke für deine sehr ausführliche Antwort. Ich habe nunmehr das Problem lösen können. In der Konfiguration war ein Haken nicht gesetzt. Der "beim Auschecken um Registrierung bitten" hatte gefehlt. Jetzt funktioniert es beim "zur Kasse"-Link, dass der User auch gleich die Login Eingabe für Benutzername und Passwort gezeigt bekommt. Ich habe den 1 Click Checkout aktiviert. Da ich von es von Vorteil finde, alles auf einer Seite eingeben zu können (bis auf eine abweichende Lieferanschrift).


    Mit den Buttons selbst glaube ich war das ein Missverständnis. Ich habe einfach die URL bzgl. Login-Modul des "Registrieren"-Links und des "Noch kein Benutzerkonto erstellt"-Links abgeändert um eben diese Ansicht zu bekommen. Hier erfolgt quasi die Verlinkung zur VM-Kontenpflege. Normalerweise verweist diese ja lediglich auf die Joomla-Benutzerregistrierung.


    Durch setzten des Hakens ist nun aber keine Abänderung in VM mehr nötig. Das ist natürlich super, da ich so wenig als möglich in den Dateien selbst ändern möchte, um eben dadurch eventuell entstehende Probleme zu vermeiden ...


    Gruss Stefan

  • Jetzt noch eine Frage an StefanSTS. Übernimmt das OPC die Template Konfiguration oder muss dieses angepasst werden, bzw. hat es ein eigenes Design?


    Das Thema kann übrigens als "gelöst" gesetzt werden, habe hier leider keine Option gefunden ...


    Gruss Stefan

  • Das wäre naturlich nicht schlecht, bzw. von Vorteil. Würde glaube ich dem ein oder anderen etwas Zeit ersparen um dieses Problem zu lösen.


    An dieser Stelle nochmal ein Kompliment an die rasche Unterstützung dieses Boards hier ...
    Da könnte sich manch anderes ein Beispiel nehmen ... ;-)


    Gruss Stefan

  • Jetzt noch eine Frage an StefanSTS. Übernimmt das OPC die Template Konfiguration oder muss dieses angepasst werden, bzw. hat es ein eigenes Design?


    Der OPC hat vier verschieden Designs, die mitkommen. Man kann auch ein eigenes bauen.


    Veränderungen würde ich möglichst nur über CSS vornehmen, dann kann man den Update-Button anklicken, wenn eine neue Version kommt und fertig.

  • Hallo,


    ich dachte erst, dass dies hier genau mein Thema behandelt... Leider stellte sich dies nicht heraus.

    Mein Problem ist tatsächlich, das zuerst angenommene.


    WO KANN ICH DEN LINK VOM CHECKOUT ÄNDERN?


    Leider, warum auch immer, hat sich dieser geändert und ../shopping-cart

    Müsste aber auf ../shopping-cart/checkout

    zeigen.


    Wo kann ich das ändern???


    DANKE

  • Servus,


    in einer Standard VirtueMart-Installation ist das im Ordner

    /components/com_virtuemart/views/cart/tmpl/padded.php.


    Ein Override dazu könnte und sollte im Template-Ordner zu finden sein.

    Evtl. : templates/TEMPLATENAME/html/com_virtuemart/cart/


    Grüße

    Stefan