Shop Hosting
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Cross Selling und Reverse Cross Selling

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #15 am: 05. Dezember 2012, 02:26:19
    Mach' Dir keinen Stress. Interesant wäre, wenn Du die Möglichkeit hättest an einem Live-Shop zu testen, was passiert, wenn man die eigentlich nicht existent sein dürfende Konstelation

    Code: PHP  [Auswählen]
    index.php?products_id=3

    durchspielt, was bei Nummern passiert wo der Artikel ausgeblendet wurde.

    Dachte schon ich wäre paranoid bei den vielen Ungereimtheiten die sich manchmal auch gehäuft im Zusammenhang mit dem Shop auftun.

    Gerd
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #16 am: 05. Dezember 2012, 15:28:03
    In SP1b zumindest klappt das mit deaktivierten Artikeln nicht (was du wohl mit "Artikel ausgeblendet" meinst).

    Darf ja auch nicht möglich sein, da die products_id ja nicht "aktiv" ist.

    Gruß,
    noRiddle

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #17 am: 05. Dezember 2012, 15:53:19
    Dann ist's ja schon mal gut. Dachte schon da täte sich ein Backdoor auf.

    Gerd

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #18 am: 07. Dezember 2012, 02:54:45
    Läßt sich das PHP SELF direkt per smarty in der product_info über die PRODUCT_ID definieren?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #19 am: 07. Dezember 2012, 14:45:36
    Ich habe das Gefühl, daß das hier
    Code: PHP  [Auswählen]
    xtc_href_link(basename($PHP_SELF)
    ohnehin nicht zum Ziel führt

    $_SERVER['PHP_SELF'] gibt bei einer URL à la
    1.) http://www.DOMAIN.de/product_info.php?products_id=X oder
    2.) http://www.DOMAIN.de/index.php?cPath=Xalles nach der Root-Datei aber ohne QUERY_STRING aus, also
    1.) /product_info.php
    2.) /index.php

    In Verbindung mit basename() das gleiche, nur ohne vorhergehenden Slash
    und es strippt auch jeden evtl. vorhandenen Unterordner.

    Es würde also das ausgegeben
    • im Falle du auf einer product_listing-Seite bist
      • index.php
    • im Falle du auf product_info bist
      • product_info.php

    Jetzt kommt für das form-tag noch das hinzu:
    Code: PHP  [Auswählen]
    xtc_get_all_get_params(array ('action'))

    was einfach das anhängt
    ?products_id=X
    also insgesamt:
    auf der product_info-Seite
    product_info.php?products_id=X
    auf der product_listing-Seite
    index.php?products_id=X
    Da nun die cross_listings includet sind wird der Pfad der includeten Datei ausgegeben, also auch
    index.php?products_id=X
    Ich meine also folgendes:
    Es müßte nach der form-action einen redirect geben
    Code: PHP  [Auswählen]
    xtc_redirect($_SERVER['REQUEST_URI']);

    Das müsste dann dafür sorgen, daß man auf der aktuellen Seite bleibt,
    also wenn man in der product_info ist auf
    product_info.php?products_id=X
    und wenn man auf einer product_listing ist auf
    index.php?cPath=X
    Weiß nicht, ob ich da einen Denkfehler habe.
    Teste das mal.

    Gruß,
    noRiddle

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #20 am: 08. Dezember 2012, 00:00:13
    Danke erstmal für die ausführliche Überlegung. Jedoch habe ich ein Problem Deine Lösung umzusetzen. Sobald ich in der includes/classes/product.php wo die FORM_ACTION eingebunden ist das
    Code: PHP  [Auswählen]
    xtc_redirect($_SERVER['REQUEST_URI']);
    egal in welcher probierten Konstellation einbaue sagt mir Firefox
    Zitat
    Fehler: Umleitungsfehler
     Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

    Gerd

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #21 am: 08. Dezember 2012, 01:00:50
    Weiß da momentan auch nicht weiter, mir fehlt noch die Testumgebung (konnte mich noch nicht durchringen zu Beta 4 ;-) ).

    Gruß,
    noRiddle

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #22 am: 08. Dezember 2012, 01:17:19
    Also zu Beta 4 kann ich mich auch nicht durchringen, da dann der Um-/Einbauzirkus auf's Neue mit ganze anderen Problemen wieder von vorne anfängt.

    Gerd

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #23 am: 08. Dezember 2012, 15:29:52
    Ich glaube ich habe hier zum Teil Blödsinn geschrieben.  :oops:
    Sorry.

    Ich verstehe die Funktion xtc__all_get_params() noch gar nicht richtig.
    Wo holt die Funktion eigentlich die Produkt-Daten im product_listing her (also product_id=XX) ?
    Die stehen ja im product_listing gar nicht in der URL, in der URL ist der GET-Parameter ja cPath=XX .

    In meinem Bestreben dir irgendwie schnell zu helfen, habe ich da was nicht richtig verstanden.
    Das muß ich mir nochmal bei Gelegenheit in Ruhe anschauen.

    Hast du eigentlich mal einen Link wo man sich das generierte HTML anschauen kann ?

    Gruß,
    noRiddle

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #24 am: 08. Dezember 2012, 15:54:37
    Hab es leider nur lokal am laufen. Würde Dir eine Demo mit ein paar Spielartikeln und fertigem Installer (mit Artikel und sonstigen Vorseinstellungen) auf Basis von 1.05 SP1d weiterhelfen?

    Gerd

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #25 am: 08. Dezember 2012, 16:08:36
    Nöö, ich installier' mir jetzt nix ;-) .

    Gib' mir doch bitte mal genau folgendes HTML an:
    • kompletten form-tag eines Produktes bei Bestellung aus product_listing
    • kompletten form-tag bei Bestellung aus product_info
    • kompletten form-tag bei Bestellung aus cross_selling
      (also auf product_info -Seite)

    Gruß,
    noRiddle

    P.S.
    Was sagt eigentlich web0null zu seiner Lösung ?

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #26 am: 08. Dezember 2012, 16:24:00
    Zitat
    Was sagt eigentlich web0null zu seiner Lösung ?

    Der ist anscheinend abgängig. Da die Lösung ja eigentlich Attribute in Listing betrifft und dort ja geht - original gibt es ja keine direkte Kaufoption für Cross Selling, Also Purchased und Reverse Cross Selling - wird er die Thematik noch gar nicht in Betracht gezogen haben. Die Einbauanleitung ist dementprechend auch noch nicht erweitert. Das ist mir mal so aufgefallen bei einem anderen Template das ich installiert habe, da dort die Kaufmöglichkeiten bereits enthalten sind.

    Zitat
    Gib' mir doch bitte mal genau folgendes HTML an
    Da meinst Du jetzt den Teil aus dem Quellcode?

    Gerd

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #27 am: 08. Dezember 2012, 16:45:25
    Genau, den Quellcode.

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #28 am: 08. Dezember 2012, 16:53:45
    kompletten form-tag eines Produktes bei Bestellung aus product_listing:
    Code: PHP  [Auswählen]
    <form id="cart_quantity" action="http://localhost/105-014/index.php?cPath=1&amp;action=add_product" method="POST" onsubmit="return checkformular(this);">
     

    kompletten form-tag bei Bestellung aus product_info
    Code: PHP  [Auswählen]
    <form id="cart_quantity" action="http://localhost/105-014/product_info.php?products_id=1&amp;action=add_product" method="POST" onsubmit="return checkformular(this);">
     

    kompletten form-tag bei Bestellung aus cross_selling
    (also auf product_info -Seite)
    Code: PHP  [Auswählen]
    <form id="cart_quantity" action="http://localhost/105-014/index.php?products_id=1&amp;action=add_product" method="POST" onsubmit="return checkformular(this);">
     

    Das
    Code: PHP  [Auswählen]
    onsubmit="return checkformular(this);"
    ist eine eigene Geschichte, checkt ob bei vorhandenem Attribut auch tatsächlich eines ausgewählt wurde.

    Gerd

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Cross Selling und Reverse Cross Selling
    Antwort #29 am: 08. Dezember 2012, 22:21:35
    Okay, dann habe ich die Funktion xtc_all_get_params() doch verstanden, oben allerdings mehrere Fehler gemacht.

    Diese Aussage von mir ist nicht korrekt:
    "Da nun die cross_listings includet sind wird der Pfad der includeten Datei ausgegeben"

    $_SERVER['SCRIPT_NAME'] (so ist $PHP_SELF in /includes/application_top.php definiert)
    ergibt auch in der cross_selling /product_info.php
    und basename($PHP_SELF) folglich product_info.php .

    Mir ist folgendes völlig schleierhaft:
    Wieso gibt das
    Code: PHP  [Auswählen]
    'FORM_ACTION' => xtc_draw_form('cart_quantity',xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array ('action')).'action=add_product')),

    im action-Teil des form-tags des cross_selling das aus
    http://localhost/105-014/index.php?products_id=1&amp;action=add_product
    wo doch basename($PHP_SELF) product_info.php auswirft.
    Wo kommt das index.php her ??

    Das kannst du ja leicht testen indem du mal das in die cross_selling.html im template eingibst und die Ausgabe anschaust.
    Code: PHP  [Auswählen]
    {php}
    // TEST
    echo '$_SERVER[PHP_SELF]: '.$_SERVER['PHP_SELF']."<br />";
    echo 'basename($_SERVER[PHP_SELF]): '.basename($_SERVER['PHP_SELF'])."<br />";
    echo '$_SERVER[SCRIPT_NAME]: '.$_SERVER['SCRIPT_NAME']."<br />";
    echo 'basename($_SERVER[SCRIPT_NAME]): '.basename($_SERVER['SCRIPT_NAME'])."<br />";
    echo '$_SERVER[REQUEST_URI]: '.$_SERVER['REQUEST_URI']."<br />";
    {/php}
    Kann man ja leicht mit umgebenden {*...*} auskommentieren und bei Bedarf wieder aktivieren.

    Das gleiche kannst du testweise noch in product_info_*.html und in product_listing.html ausgeben lassen.

    Außerdem ist mir nicht klar wo im product_listing die products_id hergeholt wird.
    Mit der Funktion xtc_all_get_params() geht das ja eigentlich nicht, die holt ja nur die vorhandenen GET-Parameter aus der URL und der GET-Parameter ist ja im product_listing cPath=X.

    Entweder fehlen mir in den letzten Tagen Vitamine oder ich peile gar nix mehr :-(

    Gruß,
    noRiddle
    10 Antworten
    8752 Aufrufe
    06. August 2015, 23:54:30 von newbee79
    2 Antworten
    2411 Aufrufe
    15. November 2009, 16:56:53 von Tomcraft
               
    anything