Namensformat - Produkte / Kategorien

  • Hallo,

    folgendes problem bei der automatischen Namenserstellung von Produktbildern:
    Wenn das auf c_name gestellt ist, wird das produktbild entsprechend dem produkt benannt zB test-produkt.jpg
    gibt es im Shop aber 2 produkte mit dem gleichen Namen überschreiben sich bei diesem Verfahren die Bilder gegenseitig.
    Hier wäre es wünschenswert, wenn vor dem umbenennen ein rund durch die DB gemacht wird, ob der Dateiname schon in einem anderen Produkt verwendet wird und in dem Fall zB die pordukte_id angehängt wird. Oder alternativ IMMER die pid anhängen, dan gibt es solche Probleme erst gar nicht.
    Auf die schicken Namen möchte ich aus SEO Grüden nur ungern verzichten...

    Dank und Gruß
    SaHiB

  • Zitat

    Auf die schicken Namen möchte ich aus SEO Grüden nur ungern verzichten...

    Dan gehen gleiche Namen auch nicht wirklich mit SEO...

    Weiter kan es mit gleiche (exact) Namen noch mehrere Problemen geben glaube ich war hier mal ins Forum.
    Mach mal wen es nicht den 100% gleiche Produkt ist ( sollte weil anders ist es naturlich...;) den herstellername und oder variantteil in name dabei. Also herstellerx produkt, herstellery produkt, produkty-sizem, produkty-sizel oder so, weil auch den seourl/urlalias muss etwas zu tun haben.

  • sorry erst mal - bin im falschen Forum gelandet - sollte natürlich unter "bugs" (kann's leider nicht selbst verschieben)
    Ansonsten ist das mit den SeoURLs kein Problem - da wird die pid mit dran gehängt das klappt. Aus SEO-Sicht ist das auch egal, zumindest solange die Produkte in unterschiedlichen Rubriken liegen, weil ja der komplette Pfad durch die Rubriken in der URL steht.
    Das Problem ist denke ich mal kein seltenes - ich habe es jetzt im 3. Shop, wo ein Kunde mich deswegen anschreibt - die ersten male habe ich darüber aufgeklärt und auch diesmal umgehen wir es halt, aber auf Dauer wäre eine Lösung schon schön. Selbst basteln möchte ich aber auch nix, damit die FixPacks sauber eingespielt werden können.

  • Ja das Problem tritt durchaus immerwieder auf und bei mir ist es genauso, dass ich es Kunden dann jedesmal erklären muss, schließe mich dem Wunsch nach einer Lösung wie anhängen einer Id bei doppeltvorhandenen Einträgen etc an.

  • Na ja, da kann man jetzt endlos disskutieren :) Ich wurde aber auch schon öfter belehrt, dass es durchaus 2 Produkte mit dem gleichen Namen geben kann. Warum auch immer ;) Dann können wir nur die Produkt ID hinten dran basteln. Lösung wäre (getestet mit v2.2.2.1)
    /admin/includes/classes/categories.php

    Zeile 626:

    statt:

    Code
    $new_products_name = cseo_get_url_friendly_text(xtc_db_prepare_input($products_data['products_name'][(int)$_SESSION['languages_id']]));

    folgendes:

    Code
    $new_products_name = cseo_get_url_friendly_text(xtc_db_prepare_input($products_data['products_name'][(int)$_SESSION['languages_id']])).'_'.$products_id;

    Und das gleiche in Zeile 680

    Wenn das so OK ist, dann können wir das fest aufnehmen für das nächste Update

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>

  • schicker wäre natürlich noch eine kleine Abfrage, ob das Produkt doppelt vorkommt und dann nur in dem fall die ID hinten dran klatschen... Ist ja nur 1 query mehr.
    Ich weiß - ich bin dreißt :rolleyes:

    in pseudocode also (boah bin ich heut faul - hab aber auch schon nen langen Tag hinter mir):

    PHP
    $new_products_name = cseo_get_url_friendly_text(xtc_db_prepare_input($products_data['products_name'][(int)$_SESSION['languages_id']]));
    query("SELECT pid FROM bilder WHERE pid!={$products_id} AND bildname='{$new_products_name}' ")
    if(datensatz gefunden) $new_products_name.='_'.$products_id;


    weiß grad nicht wo die seo bildnamen hinterlegt sind, aber sinngemäß passt das oben denk ich mal...

    Einmal editiert, zuletzt von SaHiB (30. Oktober 2012 um 19:09)

  • Nun ja schick schon, aber auch eine potenzielle Bremse!!!! Der Shop soll ja nicht nur bei 100 Produkten rennen, sondern auch bei 10.000. Damit würden wir eine Bremse einbauen.

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>

  • das sind bei 3 Produktbilder doch nur 3 sehr einfache querys - ein index ist auf den bildnamen ja sicher schon gesetzt (wenn nicht, ist es ja wenig Aufwand), also kostet das selbst bei 100.000 Artikelbildern pro query wohl kaum mehr als 0.01sek - verschmerzbar, da das ganze ja nur einmalig geprüft wird, wenn man ein Produkt speichert
    Bei den URLs machst Du es ja auch schon - da hängst Du sauber hinten noch einen Zähler dran (das ist sogar aufwendiger als die ID ran zu hängen)