Doppelte Produkt URLs

Thema wurde von ff-webdesigner, 3. August 2022 erstellt.

  1. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    418
    Danke erhalten:
    35
    Danke vergeben:
    53
    Hallo beisammen,

    wir haben in einem älteren und nicht updatebaren weitreichend modifiziertem 3.12 shop das problem dass gambio beim speichern neuer produkte bei eingabe gleicher produktname NICHT wie normal üblich url keywords marke produktname-produktid generiert. es werden mehrere produkte mit der gleichen url gespeichert. hat auch jemand anderes dieses problem?

    da der shop weitreichend modifiziert ist greift der gambio support nicht. aber in unserem 1:1 gespiegelten testshop (hier nur etliche 10t inaktive produkte gelöscht) funktioniert alles korrekt. der fehler scheint also durch korrupte produktdaten zu entstehen. mehrfach manuell korrigierte doppelte produkt urls brachten aber auch keine abhilfe.

    ich suche schon seit stunden wo genau gambio ermittelt ob eine produkturl bereits besteht - und wo ich einfach generell an alle urls -pID anhängen könnte. meine beste vermutung bisher? admin/includes/classes/categories.php und dann folgender code:

    PHP:
    $gm_url_keywords xtc_db_prepare_input($products_data['gm_url_keywords'][$language_id]);
                
    $gm_url_keywords xtc_cleanName($gm_url_keywords)."-PIDANHAENGEN";
    natürlich in function insert_product

    trotz x probierten stellen auch in anderen dateien bekomme ich aber auf teufel komm raus nichts an die gm_url_keywords angehängt. caches natürlich geleert. kann mir jemand sagen wo ich angreifen muss?
     
  2. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Schau mal in die
    admin/includes/modules/new_product.php
    oder die
    admin/includes/modules/set_product_data.inc.php

    Das wären so meine Ideen zur Anlage des Produktes
     
  3. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    418
    Danke erhalten:
    35
    Danke vergeben:
    53
    ja waren meine auch. der code zum anhängen der pid ist sicher in categories.php version 3.12 zeile 1869:

    PHP:
    'gm_url_keywords' => $description['gm_url_keywords'] . "-" $dup_products_id,
    änderungen hier oder darüber in funktion insert_product zeile 1540

    PHP:
    $gm_url_keywords xtc_cleanName($gm_url_keywords);
    führen jedoch zu keinerlei änderung.
    deine dateien hatte ich schon auf dem schirm und gecheckt, tut sich leider auch nichts...
     
  4. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.656
    Danke erhalten:
    1.261
    Danke vergeben:
    300
    @ff-webdesigner Die Funktion für die SEO Boost URLs mit der ID usw. ist in der /gm/classes/GMSEOBoost.php Klasse. Da gibt es eine Funktion "repair" die das prüft ob es doppelte URLs gibt und dann die entsprechende Ergänzung vornehmen sollte.
    Schau mal ob du ggf. die Klasse aktualisieren kannst oder die Funktion ist auskommentiert, weshalb die Reparaur nicht funktioniert.
     
  5. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    418
    Danke erhalten:
    35
    Danke vergeben:
    53
    danke till! auskommentiert ist da gar nichts, seoboost exakt der gleiche wie im gespiegelten shop. es MUSS an korrupten produkten liegen. im testshop funktioniert die reparaturfunktion auch tadellos. im liveshop nicht. debuggen ist wie immer bei objekten schwer...

    die funktion repair() wir bei jedem produkt anlegen angestossen, korrekt? wo genau?