Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
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: Von der Kategorieseite direkt zur Detailseite

    sound_3000

    • Neu im Forum
    • Beiträge: 22
    Von der Kategorieseite direkt zur Detailseite
    am: 08. Dezember 2010, 10:13:43
    Kann man irgendwo einstellen,  dass wenn ich in der Kategorieansicht direkt auf eine Kategorie klicke, dann direkt zur Detailseite gelange, ohne den Umweg über die nochmalige Auflistung mit den jeweils zwei Buttons "Warenkorb und Details".
    Ich habe bei manchen Kategorien nur 1 Produkt drin, da möchte ich mit möglichst wenig Klicks zur Detailseite gelangen.

    Danke
    sound_3000



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

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Von der Kategorieseite direkt zur Detailseite
    Antwort #1 am: 08. Dezember 2010, 17:31:47
    Dieses Thema gab es schon mindestens einmal.

    Bitte die Suche benutzen..

    Gruß

    h-h-h

    ShopUser

    • Frisch an Board
    • Beiträge: 55
    Von der Kategorieseite direkt zur Detailseite
    Antwort #2 am: 09. Dezember 2010, 08:41:55
    Moin,
    danke für den Hinweis. Da mich diese Frage auch schon länger beschäftigt, habe ich auch bereits die Suche genutzt- leider ohne Erfolg.
    Hast Du ein goldenes Suchwort für mich? :-)

    Gruß
    André

    sound_3000

    • Neu im Forum
    • Beiträge: 22
    Von der Kategorieseite direkt zur Detailseite
    Antwort #3 am: 09. Dezember 2010, 09:14:58
    Suche auch immer zuerst nach Lösungen, ist halt problematisch wenn der Suchbegriff nicht eindeutig ist.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.303
    • Geschlecht:
    Von der Kategorieseite direkt zur Detailseite
    Antwort #4 am: 09. Dezember 2010, 09:17:44
    dazu muss die /index.php etwas umgeschrieben werden.

    suche das hier:

    Code: PHP  [Auswählen]
    if (isset ($cPath) && xtc_not_null($cPath)) {
            $categories_products_query = "select count(*) as total from ".TABLE_PRODUCTS_TO_CATEGORIES." where categories_id = '".$current_category_id."'";
            $categories_products_query = xtDBquery($categories_products_query);
            $cateqories_products = xtc_db_fetch_array($categories_products_query, true);
            if ($cateqories_products['total']> 0) {
                    $category_depth = 'products'; // display products
            } else {
     
    und ersetze es mit dem hier:

    Code: PHP  [Auswählen]
    if (isset ($cPath) && xtc_not_null($cPath)) {
            $categories_products_query = "SELECT p2c.products_id from ".TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_PRODUCTS." p WHERE p2c.categories_id = '".$current_category_id."' AND p.products_id = p2c.products_id AND p.products_status = 1";
            $categories_products_query = xtDBquery($categories_products_query);
            if (xtc_db_num_rows($categories_products_query) == 1){
                    $categories_products = xtc_db_fetch_array($categories_products_query);
                    xtc_redirect(xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($categories_products['products_id']), 'NONSSL'));
            }
            if (xtc_db_num_rows($categories_products_query)> 0) {
                    $category_depth = 'products'; // display products
            } else {
     
    Gruss Gerhard

    sound_3000

    • Neu im Forum
    • Beiträge: 22
    Von der Kategorieseite direkt zur Detailseite
    Antwort #5 am: 09. Dezember 2010, 09:45:16
    Vielen Dank an Gerhard, genau das habe ich gesucht.

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Von der Kategorieseite direkt zur Detailseite
    Antwort #6 am: 09. Dezember 2010, 10:16:13
    Hallo Gerhard,
    von der Performance ist Deine Methode auf jeden Fall besser.
    Nur werden dann 2 URLs auf ein Produkt geleitet was durch die SEO-Brille DC (Duplicate Content) bedeuten würde. Die Alternative dazu wäre, das direkt in der Navigation zu machen.

    xtc_show_category.inc.php

    Code: PHP  [Auswählen]
            $cPath_new=xtc_category_link($counter,$foo[$counter]['name']);

            if (trim($foo[$counter]['name']) != '' ) {
                    $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new);
                    $categories_string .= '">';
    ersetzen mit:

    Code: PHP  [Auswählen]
            $products_in_category = xtc_count_products_in_category($counter);
            if ($products_in_category == '1') {
                if (GROUP_CHECK == 'true') { $group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 "; }
                    $listing_sql = "select p.products_id from  ".TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_PRODUCTS." p where p.products_status = '1' and p.products_id = p2c.products_id ".$group_check." ".$fsk_lock." and p2c.categories_id = '".$counter."'";
                    $one_product_in_category = xtc_db_fetch_array(xtc_db_query($listing_sql));
            if (trim($foo[$counter]['name']) != '' ) {
                    $categories_string .= xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id='.$one_product_in_category[products_id]);
                    $categories_string .= '">';
        }
            } else {
            $cPath_new=xtc_category_link($counter,$foo[$counter]['name']);

            if (trim($foo[$counter]['name']) != '' ) {
                    $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new);
                    $categories_string .= '">';
        }
    Das Umleiten kann man auch mit einer Zeile aus dem Template heraus.(Smarty&Javascript)  :hust:

    Code: PHP  [Auswählen]
    {if $smarty.foreach.aussen.total == '1'}{assign var="pid" value=$module_data.PRODUCTS_ID} <h1>{$pid}</h1><script type="text/javascript">window.location.replace('{php}echo xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id='.$this->get_template_vars('pid'));{/php}');</script>{/if}
    Gruß

    h-h-h

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.303
    • Geschlecht:
    Von der Kategorieseite direkt zur Detailseite
    Antwort #7 am: 09. Dezember 2010, 11:04:04
    Hallo Gerhard,
    von der Performance ist Deine Methode auf jeden Fall besser.
    Nur werden dann 2 URLs auf ein Produkt geleitet was durch die SEO-Brille DC (Duplicate Content) bedeuten würde. Die Alternative dazu wäre, das direkt in der Navigation zu machen.
    [...]
    Gruß

    h-h-h

    ich glaub ich steh gerade auf dem Schlauch  :?

    Welche 2 URLs ?

    Gruss Gerhard

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Von der Kategorieseite direkt zur Detailseite
    Antwort #8 am: 09. Dezember 2010, 11:11:20
    Sagen wir es gibt eine Kategorie mit einem Produkt.

    Dann ist der Artikel über beide URLs direkt erreichbar.
    Zitat
    shop.de/product_info.php?products_id=1
    shop.de/index.php?cPath=1 (redirect)
    Oder wird der PHP Redirect von Suchmaschienen erkannt bzw. ist das Problem bei Verwendung von canonical-Tags unwichtig?

    Gruß h-h-h

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.303
    • Geschlecht:
    Von der Kategorieseite direkt zur Detailseite
    Antwort #9 am: 09. Dezember 2010, 11:20:52
    ich denke dass ein zusätzlicher 301 reichen sollte.

    also so...

    suche das hier in der "index.php":

    Code: PHP  [Auswählen]
    if (isset ($cPath) && xtc_not_null($cPath)) {
            $categories_products_query = "select count(*) as total from ".TABLE_PRODUCTS_TO_CATEGORIES." where categories_id = '".$current_category_id."'";
            $categories_products_query = xtDBquery($categories_products_query);
            $cateqories_products = xtc_db_fetch_array($categories_products_query, true);
            if ($cateqories_products['total']> 0) {
                    $category_depth = 'products'; // display products
            } else {
     
    und ersetze es mit dem hier:

    Code: PHP  [Auswählen]
    if (isset ($cPath) && xtc_not_null($cPath)) {
            $categories_products_query = "SELECT p2c.products_id from ".TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_PRODUCTS." p WHERE p2c.categories_id = '".$current_category_id."' AND p.products_id = p2c.products_id AND p.products_status = 1";
            $categories_products_query = xtDBquery($categories_products_query);
            if (xtc_db_num_rows($categories_products_query) == 1){
                    $categories_products = xtc_db_fetch_array($categories_products_query);
                    header ('HTTP/1.1 301 Moved Permanently');
                    xtc_redirect(xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($categories_products['products_id']), 'NONSSL'));
            }
            if (xtc_db_num_rows($categories_products_query)> 0) {
                    $category_depth = 'products'; // display products
            } else {
     

    Gruss Gerhard

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Von der Kategorieseite direkt zur Detailseite
    Antwort #10 am: 09. Dezember 2010, 11:31:24
    Permanently

    Und wenn dann mal ein paar Produkte in der Kategorie dazu kommen sollten?

    Müsste ja eigentlich bei der nächsten Indizierung die Kategorie wieder normal erkannt werden.

    Gruß h-h-h

    Nachtrag
    Verbesserung meiner oben genannten Version:

    Code: PHP  [Auswählen]
    $products_in_category = xtc_count_products_in_category($counter);
    if ($products_in_category == '1' && trim($foo[$counter]['name']) != '') {
        if (GROUP_CHECK == 'true') { $group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 "; }
        $listing_sql = "select p.products_id from  ".TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_PRODUCTS." p where p.products_status = '1' and p.products_id = p2c.products_id ".$group_check." ".$fsk_lock." and p2c.categories_id = '".$counter."'";
        $one_product_in_category = xtc_db_fetch_array(xtc_db_query($listing_sql));
        $categories_string .= xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id='.$one_product_in_category[products_id]);
        $categories_string .= '">';
    } else {
    $cPath_new=xtc_category_link($counter,$foo[$counter]['name']);
    if (trim($foo[$counter]['name']) != '' ) {
        $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new);
        $categories_string .= '">';
    }

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.303
    • Geschlecht:
    Von der Kategorieseite direkt zur Detailseite
    Antwort #11 am: 09. Dezember 2010, 11:35:15
    so ist es, da der redirect und der 301 ja nur gemacht wird, wenn nur 1 Produkt in der Kategorie ist.

    Gruss Gerhard

    Juan Carlos Silverio Gomez

    • Fördermitglied
    • Beiträge: 473
    • Geschlecht:
    Von der Kategorieseite direkt zur Detailseite
    Antwort #12 am: 05. Mai 2011, 08:54:17
    Hallo,

    bitte nochmal ganz kurz, ich komme da etwas durcheinander. :-)
    Bitte nochmal für anfänger; was muss ich genau machen damit, wenn man eine kategorie anklickt, dann gleich in die details kommt, und von da aus bestellen kann. Ohne umwege.

    Vielen Dank für Eure hilfe.

    Saludos, Carlos

    Juan Carlos Silverio Gomez

    • Fördermitglied
    • Beiträge: 473
    • Geschlecht:
    Von der Kategorieseite direkt zur Detailseite
    Antwort #13 am: 02. Juli 2011, 12:28:16
    Hallo GTB, wie stehen die Chancen dieses Modul für 1.06 zu bekommen ? Das hatte mit 1.05 so super funktioniert...

    Lieben gruss aus Spain (39º gerade...sehr, sehr warm...(heiss)... :-)

    ShopUser

    • Frisch an Board
    • Beiträge: 55
    Re: Von der Kategorieseite direkt zur Detailseite
    Antwort #14 am: 20. November 2014, 18:50:22
    Hallo zusammen,
    der neue Shop auf 1.06 steht bei uns gerade in den Startlöchern und ich möchte auch hier die Möglichkeit haben direkt in das Produkt zu springen wenn die Kategroie nur ein Produkt beinhaltet.
    Der hier veröffentlichte Code von GTB passt leider nicht mehr zur aktuellen Version 1.06. Leider verliere ich auch den Überblick die Code-Änderungen zu adaptieren.
    Der original Code der 1.06 ist der folgende- bekommt jemand die hier vorgeschlagenen Änderungen in diesen Code inplementiert?

    Dieser stammt aus /includes/modules/default.php

    Code: PHP  [Auswählen]
    if (isset ($cPath) && xtc_not_null($cPath)) {
      $categories_products_query = "select p2c.products_id
                                      from "
    .TABLE_PRODUCTS_TO_CATEGORIES." p2c
                                      left join "
    .TABLE_PRODUCTS." p
                                       on p2c.products_id = p.products_id
                                      where p2c.categories_id = "
    .(int)$current_category_id."
                                      and p.products_status = 1"
    ;
      $categories_products_result = xtDBquery($categories_products_query);
      if (xtc_db_num_rows($categories_products_result, true) > 0) {
        $category_depth = 'products'; // display products
      } else {

    Vielen Dank für Eure Hilfe!

    Gruß
    André
    1 Antworten
    2040 Aufrufe
    17. Dezember 2014, 14:50:39 von chaploo
    3 Antworten
    2728 Aufrufe
    03. August 2012, 18:32:51 von Anidni
    17 Antworten
    10854 Aufrufe
    26. April 2012, 00:32:49 von Q