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: Einkauf Fortsetzen zurück zur Kategorie

    nicnicnic

    • Neu im Forum
    • Beiträge: 18
    Einkauf Fortsetzen zurück zur Kategorie
    am: 08. Januar 2013, 11:31:31
    Hallo Zusammen

    Hat einer eine Idee wie man das lösen könnte. Wenn ich im Shop ein Produkt in den Warenkorb lege, habei ich die Möglichkeit auf "Einkauf fortsetzen" zu drücken. Dies bringt einem zurück zur Detailansicht des Produktes. Eigentlich möchte ich aber eins weiter zurück, zur übersicht aller produkte der kategorie...
    Hat einer ne lösung hierfür?

    Herzlichen Dank nic

    Linkback: https://www.modified-shop.org/forum/index.php?topic=24035.0

    SwissDelightful

    • Frisch an Board
    • Beiträge: 54
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #1 am: 27. Dezember 2014, 17:27:14
    Ist das hier die korrekte Antwort auf diese Frage:

    Hier:

    ...templates/shop6/module/shopping_cart.html

    den trail-count von "-2" auf "-3" setzen:

    Zitat
        {php}
    global $breadcrumb, $cPath_array, $actual_products_id;
    if(!empty($cPath_array)) {
       $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-3]['title']);   
       $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-3]['link']);
        $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-2]['link'];   

    ?

    Kann mir da einer von den Profis etwas zu sagen? Danke Euch!!!

    kaisa

    • Schreiberling
    • Beiträge: 366
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #2 am: 28. Dezember 2014, 20:57:47
    Es klingt sinnvoll, dass so umzusetzen mit dem Warenkorb. Probiere doch einfach mal aus, ob die Lösung so funktioniert.

    SwissDelightful

    • Frisch an Board
    • Beiträge: 54
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #3 am: 28. Dezember 2014, 21:18:43
    Dankeschön für die Antwort!
    Ja, ich denke es geht.
    Aber ich hatte in der letzten Zeile einen trail-count übersehen:

    Zitat
    {php}
    global $breadcrumb, $cPath_array, $actual_products_id;
    if(!empty($cPath_array)) {
       $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-3]['title']);  
       $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-3]['link']);

        $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-3]['link'];     

    Liebe Grüsse

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.744
    • Geschlecht:
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #4 am: 29. Dezember 2014, 01:59:59
    Die Vorgehensweise ist veraltet, das ist längst nicht mehr im Template zu finden (/templates/YOUR_TEMPLATE/module/shopping_cart.php).
    Der {$CONTINUE_LINK} ist in der /shopping_cart.php definiert und sollte, will man es anders haben, auch dort definiert werden.
    Per Default ist es so definiert:
    Code: PHP  [Auswählen]
    if (!empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], FILENAME_SHOPPING_CART) === false  && strpos($_SERVER['HTTP_REFERER'],'in_cart') === false) {
      $_SESSION['continue_link'] = $_SERVER['HTTP_REFERER'];
    }
    if(!empty($_SESSION['continue_link'])) {
      $smarty->assign('CONTINUE_LINK',$_SESSION['continue_link']);
    }
    was bedeutet, daß der Button "weiter einkaufen" auch ganz woanders hinführen kann, je nachdem von wo man kam.
    Daß man von dem Produkt kam welches man zuletzt in den Warenkorb gelegt hat trifft auch nur dann zu wenn man im Backend => Konfiguration => Mein Shop => Soll Warenkorb nach dem Einfügen angezeigt werden? auf 'true' steht. Man sollte sich das also genau überlegen.
    Nur mal als Beispiel:
    Ich klicke rum, sehe mir alles mögliche an (nachdem ich was in den Warenkorb gelegt hatte) und war zuletzt auf "Impressum".
    Nach dem Default-Code werde ich, klicke ich nun auf "Warenkorb", auch wieder zum Impressum geleitet.
    Will sagen: In welche Kategorie willst du denn dann leiten ?

    Klar das ist so nicht ganz glücklich gelöst, aber wie willst du es lösen ?, Vorschläge ?

    Gruß,
    noRiddle

    SwissDelightful

    • Frisch an Board
    • Beiträge: 54
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #5 am: 29. Dezember 2014, 15:31:10
    Vielen Dank für die schnelle und ausführliche Erklärung!
    Das war mir alles so nicht bewusst...

    Ich fände es am besten, wenn dem Button "Einkauf fortsetzen" im Warenkorb zugewiesen würde, dass er immer und grundsätzlich auf die Startseite führt. Egal woher man kommt.

    Spricht da irgendwas gegen, was ich übersehe?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.744
    • Geschlecht:
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #6 am: 29. Dezember 2014, 16:56:40
    Wohin du leiten möchtest mußt du selbst entscheiden.
    Willst du immer auf die Startseite leiten mußt du den oben zitierten Code in der /shopping_cart.php so ändern (ursprünglichen Code nur auskommentieren wie unten gezeigt, dann weißt du noch was dort mal stand):
    Code: PHP  [Auswählen]
    /*if (!empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], FILENAME_SHOPPING_CART) === false  && strpos($_SERVER['HTTP_REFERER'],'in_cart') === false) {
        $_SESSION['continue_link'] = $_SERVER['HTTP_REFERER'];
    }
    if(!empty($_SESSION['continue_link'])) {
        $smarty->assign('CONTINUE_LINK',$_SESSION['continue_link']);
    }*/

    $smarty->assign('CONTINUE_LINK', xtc_href_link(FILENAME_DEFAULT));

    Gruß,
    noRiddle

    SwissDelightful

    • Frisch an Board
    • Beiträge: 54
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #7 am: 29. Dezember 2014, 17:28:05
    Manno, bin ich echt so blöd?
    Ich find den Code nicht  :’-(

    Oder ist das in meinem Template anders? Ich hab shop6?

    Ich habe shop6/module/shopping_cart.html :

    Code: XML  [Auswählen]
     {config_load file="$language/lang_$language.conf" section="shopping_cart"}

    {php}
    global $breadcrumb, $cPath_array, $actual_products_id;
    if(!empty($cPath_array)) {
            $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-4]['title']);     
            $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-4]['link']);
        $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-4]['link'];  
    }
    if(!empty($actual_products_id)) {
            $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-4]['title']);     
            $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-4]['link']);
        $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-4]['link'];  
    }
    if(!empty($ct_shopping)) $_SESSION['continue_link'] = $ct_shopping;
    if(!empty($_SESSION['continue_link'])) $this->assign('CONTINUE_LINK',$_SESSION['continue_link']);
    $this->assign('BUTTON_CONTINUE_SHOPPING', xtc_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING));
    {/php}

    <h1>{#heading_cart#}</h1>
    {if $info_message!=''}<div class="errormessage">{$info_message}</div>{/if}
    {if $cart_empty==true}
    <p>{#text_empty#}</p>
    <p>{$BUTTON_CONTINUE}</p>
    {else}
    {$FORM_ACTION}
    {$HIDDEN_OPTIONS}
    <p>{$MODULE_order_details}</p>
    {if $info_message_1!=''}<div class="errormessage">{$info_message_1}{$min_order}{$info_message_2}{$order_amount}</div>{/if}
    <p>{if $CONTINUE_LINK}<a href="{$CONTINUE_LINK}">{$BUTTON_CONTINUE_SHOPPING}</a>&nbsp;{/if}{$BUTTON_RELOAD}&nbsp;{$BUTTON_CHECKOUT}</p>
    <p>{$FORM_END}{/if}
    {$MODULE_gift_cart}  

    und shop6/source/boxes/shopping_cart.php :

    Code: PHP  [Auswählen]
     <?php

    /* -----------------------------------------------------------------------------------------
       $Id: shopping_cart.php 1281 2005-10-03 09:30:17Z mz $  

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(shopping_cart.php,v 1.18 2003/02/10); www.oscommerce.com
       (c) 2003      nextcommerce (shopping_cart.php,v 1.15 2003/08/17); www.nextcommerce.org

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/

    $box_smarty = new smarty;
    $box_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
    $box_content = '';
    $box_price_string = '';
    $products_in_cart = array (); //DokuMan - 2010-02-28 - Undefined variable: products_in_cart
    $qty = 0; //DokuMan - 2010-02-28 - Undefined variable: qty
    // include needed files
    require_once (DIR_FS_INC.'xtc_recalculate_price.inc.php');

    if (strstr($PHP_SELF, FILENAME_CHECKOUT_PAYMENT) or strstr($PHP_SELF, FILENAME_CHECKOUT_CONFIRMATION) or strstr($PHP_SELF, FILENAME_CHECKOUT_SHIPPING))
            $box_smarty->assign('deny_cart', 'true');

    if ($_SESSION['cart']->count_contents() > 0) {
            $products = $_SESSION['cart']->get_products();
            //$products_in_cart = array (); //DokuMan - 2010-02-28 - Undefined variable: products_in_cart
            //$qty = 0; //DokuMan - 2010-02-28 - Undefined variable: qty
            for ($i = 0, $n = sizeof($products); $i < $n; $i ++) {
                    $qty += $products[$i]['quantity'];
                    $products_in_cart[] = array ('QTY' => $products[$i]['quantity'],
                                                                             'LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($products[$i]['id'],$products[$i]['name'])),
                                                                             'NAME' => $products[$i]['name']);

            }
            $box_smarty->assign('PRODUCTS', $qty);
            $box_smarty->assign('empty', 'false');
    } else {
            // cart empty
            $box_smarty->assign('empty', 'true');
    }

    if ($_SESSION['cart']->count_contents() > 0) {
           
            $total =$_SESSION['cart']->show_total();
            $discount = 0; //DokuMan - 2010-03-01 - set undefined variable
    if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] == '1' && $_SESSION['customers_status']['customers_status_ot_discount'] != '0.00') {
            if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 0 && $_SESSION['customers_status']['customers_status_add_tax_ot'] == 1) {
                    $price = $total-$_SESSION['cart']->show_tax(false);
            } else {
                    $price = $total;
            }
            $discount = $xtPrice->xtcGetDC($price, $_SESSION['customers_status']['customers_status_ot_discount']);
            $box_smarty->assign('DISCOUNT', $xtPrice->xtcFormat(($discount * (-1)), $price_special = 1, $calculate_currencies = false));
           
    }


    if ($_SESSION['customers_status']['customers_status_show_price'] == '1') {
            if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 0 && $_SESSION['customers_status']['customers_status_add_tax_ot'] == 0) $total-=$discount;
            if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 0 && $_SESSION['customers_status']['customers_status_add_tax_ot'] == 1) $total-=$discount;
            if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 1) $total-=$discount;
            $box_smarty->assign('TOTAL', $xtPrice->xtcFormat($total, true));
    }
           

            $box_smarty->assign('UST', $_SESSION['cart']->show_tax());
           
            if (SHOW_SHIPPING=='true') {
              //BOF - DokuMan - 2009-08-09 - fixed wrong quotationmark position and fixed wrong question mark on KeepThis=true
                    //$box_smarty->assign('SHIPPING_INFO',' '.SHIPPING_EXCL.'<a target="_blank" href="'.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS.'?KeepThis=true&TB_iframe=true&height=400&width=600"').' title="Information" class="thickbox"">'.SHIPPING_COSTS.'</a>');      
                    $box_smarty->assign('SHIPPING_INFO',' '.SHIPPING_EXCL.' <a target="_blank" href="'.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS.'&KeepThis=true&TB_iframe=true&height=400&width=600', 'SSL').'" title="Information" class="thickbox">'.SHIPPING_COSTS.'</a>'); 
              //EOF - DokuMan - 2009-08-09 - fixed wrong quotationmark position and fixed wrong question mark on KeepThis=true
            }
    }
    if (ACTIVATE_GIFT_SYSTEM == 'true') {
            $box_smarty->assign('ACTIVATE_GIFT', 'true');
    }

    // GV Code Start
    if (isset ($_SESSION['customer_id'])) {
            $gv_query = xtc_db_query("select amount from ".TABLE_COUPON_GV_CUSTOMER." where customer_id = '".$_SESSION['customer_id']."'");
            $gv_result = xtc_db_fetch_array($gv_query);
            if ($gv_result['amount'] > 0) {
                    $box_smarty->assign('GV_AMOUNT', $xtPrice->xtcFormat($gv_result['amount'], true, 0, true));
                    $box_smarty->assign('GV_SEND_TO_FRIEND_LINK', '<a href="'.xtc_href_link(FILENAME_GV_SEND).'">');
            }
    }
    if (isset ($_SESSION['gv_id'])) {
            $gv_query = xtc_db_query("select coupon_amount from ".TABLE_COUPONS." where coupon_id = '".$_SESSION['gv_id']."'");
            $coupon = xtc_db_fetch_array($gv_query);
            $box_smarty->assign('COUPON_AMOUNT2', $xtPrice->xtcFormat($coupon['coupon_amount'], true, 0, true));
    }
    if (isset ($_SESSION['cc_id'])) {
            $box_smarty->assign('COUPON_HELP_LINK', '<a href="javascript:popupWindow(\''.xtc_href_link(FILENAME_POPUP_COUPON_HELP, 'cID='.$_SESSION['cc_id']).'\')">');
    }
    // GV Code End
    $box_smarty->assign('LINK_CART', xtc_href_link(FILENAME_SHOPPING_CART, '', 'SSL'));
    $box_smarty->assign('products', $products_in_cart);

    $box_smarty->caching = 0;
    $box_smarty->assign('language', $_SESSION['language']);
    $box_shopping_cart = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_cart.html');
    $smarty->assign('box_CART', $box_shopping_cart);
    ?>  

    Bitte nicht mich steinigen, ich versuch es wirklich!!! Hab auch meine Brille auf!!!

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.744
    • Geschlecht:
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #8 am: 29. Dezember 2014, 18:39:27
    Das kommt davon wenn man seine Shop-Version nicht nennt bei Fragen (siehe FAQ über jeder Post-Erstellung). Ich würde mal update-n, du hast eine veraltete Shop-Version.
    In deiner Version gibt es den von mir zitierten Code nicht und CONTINUE_LINK wird im Template definiert.

    Gruß,
    noRiddle

    SwissDelightful

    • Frisch an Board
    • Beiträge: 54
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #9 am: 29. Dezember 2014, 19:39:06
    Ohoh... :oops:

    Shopversion:
    v 1.06 rev 4642 SP2 dated 2014-08-12

    Ich dachte, ich hätte die neueste Version?

    SwissDelightful

    • Frisch an Board
    • Beiträge: 54
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #10 am: 29. Dezember 2014, 19:55:33
    Und wenn ich in der

    ...templates/shop6/module/shopping_cart.html

    den trail-count auf -1000 setze? Komme ich dann nicht immer wieder auf die Startseite?  :nixweiss:

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.744
    • Geschlecht:
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #11 am: 29. Dezember 2014, 19:59:46
    • Ist zumindest deine /shopping_cart.php nicht auf Stand 1.06 rev4642 SP2
      und
    • wenn sie es wäre würde das Template angepasst werden müssen.

    Hast du selbst ein Update gemacht und dabei was vergessen ?

    Gruß,
    noRiddle

    SwissDelightful

    • Frisch an Board
    • Beiträge: 54
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #12 am: 29. Dezember 2014, 20:27:41
    Ich habe nur im August die Shopversion installiert und dann das angebotene Template shop6 übernommen. Mehr hab ich nicht gemacht, weil ich gar nicht weis, wie es geht...  :oops:

    Was mach ich jetzt am besten?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.744
    • Geschlecht:
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #13 am: 30. Dezember 2014, 14:54:41
    Wenn du "nur im August die Shopversion installiert" hast, wie du dich ausdrückst, dann würde ich mal genau nachhaken welche Version das wirklich war und woher du sie hast.
    Ich sage nochmals: Deine /shopping_cart.php ist definitiv nicht aus 1.06 rev4642 SP2.
    Das Template ist wahrscheinlich veraltet und müsste angepasst werden.
    Die Definition von CONTINUE_LINK im Template gibt's seit der 1.06 (ohne rev und SP) schon nicht mehr.

    Wenn dir alles egal ist was die Version anbelangt kannst du im Template einfach folgendes machen:
    Anstatt diesem
    Code: XML  [Auswählen]
    {php}
    global $breadcrumb, $cPath_array, $actual_products_id;
    if(!empty($cPath_array)) {
            $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-4]['title']);    
            $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-4]['link']);
        $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-4]['link'];  
    }
    if(!empty($actual_products_id)) {
            $this->assign('CONTINUE_NAME',$breadcrumb->_trail[count($breadcrumb->_trail)-4]['title']);    
            $this->assign('CONTINUE_LINK',$breadcrumb->_trail[count($breadcrumb->_trail)-4]['link']);
        $ct_shopping = $breadcrumb->_trail[count($breadcrumb->_trail)-4]['link'];  
    }
    if(!empty($ct_shopping)) $_SESSION['continue_link'] = $ct_shopping;
    if(!empty($_SESSION['continue_link'])) $this->assign('CONTINUE_LINK',$_SESSION['continue_link']);
    $this->assign('BUTTON_CONTINUE_SHOPPING', xtc_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING));
    {/php}

    das
    Code: XML  [Auswählen]
    {php}
    $this->assign('CONTINUE_LINK', xtc_href_link(FILENAME_DEFAULT));
    $this->assign('BUTTON_CONTINUE_SHOPPING', xtc_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING));
    {/php}

    Damit führt der "Weiter einkaufen"-Link immer auf die Startseite.

    Gruß,
    noRiddle

    SwissDelightful

    • Frisch an Board
    • Beiträge: 54
    Re: Einkauf Fortsetzen zurück zur Kategorie
    Antwort #14 am: 30. Dezember 2014, 22:16:41
    Danke Dir!
    Es funktioniert aber nicht.
    Ich hab den Code in der shopping_cart.html ersetzt, aber der Button führt mich trotzdem nicht in jedem Fall zur Startseite.
    Liegt es an mir? Oder am Code?
     :-?
    3 Antworten
    3038 Aufrufe
    13. November 2012, 11:49:01 von noRiddle (revilonetz)
    37 Antworten
    24243 Aufrufe
    10. Februar 2011, 10:50:57 von bkabel
    3 Antworten
    3770 Aufrufe
    01. März 2010, 21:40:23 von Tomcraft
    5 Antworten
    3205 Aufrufe
    15. November 2010, 14:03:55 von Tomcraft
               
    anything