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: Produkt in account_history_info klickbar machen?

    Toby

    • Viel Schreiber
    • Beiträge: 985
    Produkt in account_history_info klickbar machen?
    am: 15. Januar 2013, 20:47:49
    Hallo,
    wie kann ich in der Account History bereits getätigte Bestellungen klickbar machen?
    Man kann sich ja die einzelnen Bestellungen ansehen, nicht aber auf die einzelnen Positionen klicken, um dann nochmal zum Produkt zu gelangen.
    Geht das irgendwie?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=24154.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    adiebler

    • Frisch an Board
    • Beiträge: 52
    • Geschlecht:
    Re: Produkt in account_history_info klickbar machen?
    Antwort #1 am: 16. Januar 2013, 11:01:29
    Hi Toby,

    für dieses Problem gibt es eine einfach Lösung. Zuerst brauchen wir die Produkt ID, da mit dieser der Link gebaut wird um das Produkt aufzurufen. Dafür brauchen wir die Klasse Order, welche /includes/classes/order.php zu finden ist. Hier ist für uns die Funktion getOrderData($oID) interessant.

    Ziemlich in der Mitte der Funktion (bei mir Zeile 282, v1.0.5 SP1b) findest Du:
    Code: PHP  [Auswählen]
    $order_data[] = array ('PRODUCTS_MODEL' => $order_data_values['products_model'], 'PRODUCTS_NAME' => $order_data_values['products_name'], ...)

    Da wird am Anfang (oder wo auch immer) noch ein Parameter für die Produkt ID eingefügt:
    Code: PHP  [Auswählen]
    $order_data[] = array ('PRODUCTS_ID' => $order_data_values['products_id'], 'PRODUCTS_MODEL' => $order_data_values['products_model'], 'PRODUCTS_NAME' => $order_data_values['products_name'], ...)

    So weit, so gut. Jetzt haben wir schonmal die benötigte Variable, die nur noch im Template verbaut werden muss. Das Template findest Du unter /templates/[xtc5]/module/account_history_info.html. Hier schaust Du nach folgendem Code:
    Code: Text  [Auswählen]
    <td>{$order_values.PRODUCTS_NAME}

    Und setzt noch den Link ein:
    Code: Text  [Auswählen]
    <td><a href="{$smarty.const.FILENAME_PRODUCT_INFO}?products_id={$order_values.PRODUCTS_ID}">{$order_values.PRODUCTS_NAME}</a>

    Fertig. :cheers:

    Toby

    • Viel Schreiber
    • Beiträge: 985
    Re: Produkt in account_history_info klickbar machen?
    Antwort #2 am: 16. Januar 2013, 11:20:15
    Spitzenmässig!!!!
    Läuft einwandfrei!

    Dankeeeeee :)

    adiebler

    • Frisch an Board
    • Beiträge: 52
    • Geschlecht:
    Re: Produkt in account_history_info klickbar machen?
    Antwort #3 am: 16. Januar 2013, 11:33:24
    Bitte. :) Habe gerade gesehen, dass ihr suchmaschienenfreundliche URLs nutzt, dann ist folgende Version noch etwas besser:

    In order.php:
    Code: PHP  [Auswählen]
    $order_data[] = array ('PRODUCTS_LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($order_data_values['products_id'], $order_data_values['products_name'])), 'PRODUCTS_MODEL' => $order_data_values['products_model'], 'PRODUCTS_NAME' => $order_data_values['products_name'],  ...)

    In account_history_info.html:
    Code: Text  [Auswählen]
    <td><a href="{$order_values.PRODUCTS_LINK}">{$order_values.PRODUCTS_NAME}</a>

    Dann hast Du auch da gleich die richtigen URLs.
    Cooler Shop übrigens.  :thumbs:

    Anmerkung: Diese Variante funktionert für Shops mit und ohne optimerte URLs. Von daher schon die bessere Lösung. ;)

    Toby

    • Viel Schreiber
    • Beiträge: 985
    Re: Produkt in account_history_info klickbar machen?
    Antwort #4 am: 16. Januar 2013, 12:00:18
    Dank dir nochmal :=)
    Geht aber um diesen Shop hier: www.wm-outlet-store.de
    Habe jetzt mal die neue Änderung eingespielt: Wenn ich nun auf meine Bestellung klicke, kommt nur noch eine weisse Seite.

    https://ssl-account.com/wm-outlet-store.de/account_history_info.php?order_id=103

    Liegt das vielleicht an SSL Verschlüsselung?
    Mit deiner ersten Version klappt alles prima.

    adiebler

    • Frisch an Board
    • Beiträge: 52
    • Geschlecht:
    Re: Produkt in account_history_info klickbar machen?
    Antwort #5 am: 16. Januar 2013, 12:10:48
    Bei SSL, muss das bei order.php wie folgt aussehen:
    Code: PHP  [Auswählen]
        $order_data[] = array ('PRODUCTS_LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($order_data_values['products_id'], $order_data_values['products_name']), 'SSL'), 'PRODUCTS_MODEL' => $order_data_values['products_model'], 'PRODUCTS_NAME' => $order_data_values['products_name'],  ...)

    xtc_href_link() hat automatisch NONSSL eingestellt, daher muss der dritte Parameter noch gesetzt werden. Der angegebene Shop verlinkt intern aber nur auf HTTP...

    Ansonsten ist eine weiße Seite schon beim Anklinken der Bestellung ein Indiz, dass etwas nicht korrekt eingesetzt wurde, also z.B. die Klammerung oder so nicht passt. Da evtl. nochmal genau nachschauen.
    9 Antworten
    5531 Aufrufe
    04. Oktober 2012, 06:48:46 von Toby
    6 Antworten
    2115 Aufrufe
    29. Mai 2019, 21:51:03 von web-looks
    5 Antworten
    3358 Aufrufe
    19. Oktober 2013, 16:03:03 von yeonala