Gelöst [EA-909] ShopURL stimmt nicht

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.180
268
@nmueller
Vorsicht! :) Jetzt ists zu viel des Guten!
Ich habe das nur angerissen, aber nicht ausgeschrieben. Das "_i.html" bleibt weiterhin enthalten!

[ebay.de]/ shop-Name/_i.html?_fsub=xxx
wird zu
[ebay.de]/str/Shop-Name/Kat-Name/_i.html?_storecat=xxx


| Remove: '_i.html'
darf also wieder weg :)
 

nmueller

Sehr aktives Mitglied
5. April 2011
1.307
98
Saarland
@nmueller
Vorsicht! :) Jetzt ists zu viel des Guten!
Ich habe das nur angerissen, aber nicht ausgeschrieben. Das "_i.html" bleibt weiterhin enthalten!

[ebay.de]/ shop-Name/_i.html?_fsub=xxx
wird zu
[ebay.de]/str/Shop-Name/Kat-Name/_i.html?_storecat=xxx


| Remove: '_i.html'
darf also wieder weg :)

Hm, nope.

https://www.ebay.de/str/xcomicsgmbh/?_storecat=5480863011

geht,

https://www.ebay.de/str/xcomicsgmbh/_i.html?_storecat=5480863011

geht nicht.

Ich vermute mal, dass es mit der URL zusammen hängt, die du von ebay bekommst.

stores.ebay.de/ funktioniert in keiner Zusammenstellung.

Bei individuellen Designs geht

http://www.ebaystores.de/capsicum-design/_i.html?_fsub=3142067018

ich schätze mal, du hast ein individuelles?

Werde es dann nochmal für die zwei Fälle gesondert aufschreiben müssen. Moment ~~
 

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.180
268

LOL
Bei mir ist es genau andersherum! Ohne i.html geht es nicht bei mir. Die Domain ist die gleiche.

Edit: Ich hatte ein individuelles Design, ja. Wurde aber schon umgestellt. Meine "alten" Vorlagen haben noch [stores.ebay.de] (führt ins Leere), aber inzwischen nur noch [ebay.de] (ohne _i.html... geht es nicht bei mir)
 

StaniM

Mitglied
24. Mai 2018
41
2
Hm ok. Das scheint dann aber eine spezielle eigene Abfrage zu sein, die Platzhalter gibt's in der Wawi zumindest nativ nicht. In der SQL gibt's eine shop_category Spalte, die aber auch nur IDs enthält, keine vollständigen URLs. Schätze mal das hier ein eigenes Array gebaut wurde?
Ich glaube schön - bei uns ist es genau so änlich wie hier gemacht wurde... bis du es sagtest dachte ich es sei native lösung :D
Ich habe doch nichts gemacht :p
 

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.180
268
Bäh :D Kannst du mir mal den Shop per PN nennen bitte? Dann sehe ich mir deine URLs mal an und versuche draus was zu bauen, was vlt. beides abfängt. ebay macht einen doch wahnsinnig.

Ich habe es gerade durch ausprobieren herausgefunden:

ebay.de/str/ SHOP-NAME/?_storecat=xxx
FUNKTIONIERT

ebay.de/str/SHOP-NAME/KAT-NAME/_i.html?_storecat=xxx
FUNKTIONIERT

ebay.de/str/SHOP-NAME/KAT-NAME/?_storecat=xxx
funktioniert nicht. Hier muss noch das _i.html vorangestellt sein

Edit: Jedenfalls bei mir. Vielleicht ist es bei dir wieder anders :p
 
  • Gefällt mir
Reaktionen: nmueller

nmueller

Sehr aktives Mitglied
5. April 2011
1.307
98
Saarland
@Stephan K.
Super, du hast das Rätsel gelöst! :)

Da ich in meiner Ersetz-Routine die JTL-Platzhalter auslese und die keinen Kategorienamen enthalten, klappt der erweiterte String, den ich auf der 1. Seite geschrieben habe, tatsächlich auch so.
Baut man sich aber ein eigenes Array das den Kategorienamen aus der SQL ausliest, dann muss die Platzierung des _i.html tatsächlich beachtet werden. Wer sich selbst Arrays baut, kommt mit diesem Stolperstein aber bestimmt selbst klar. :]
 
Zuletzt bearbeitet:

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.180
268
@Stephan K.
Super, du hast das Rätsel gelöst! :)

Da ich in meiner Ersetz-Routine die JTL-Platzhalter auslese und die keinen Kategorienamen enthalten, klappt der erweiterte String, den ich auf der 1. Seite geschrieben habe, tatsächlich auch so.
Baut man sich aber ein eigenes Array das den Kategorienamen aus der SQL ausliest, dann muss die Platzierung des _i.html tatsächlich beachtet werden.

Ich habe doch nur gespielt :oops:
Prinzipiell denke ich, dass bei den vielen Angeboten auch der Kategorie-Name enthalten sein sollte. Das ist ja das Ziel von eBay: Bessere Google-Kompatibilität.
Wenn bei allen Angeboten jetzt noch der Kategorie-Name dabei stünde, wäre das ganz cool. Aber zwischenzeitlich kann man sehr gut damit leben.
Da du, @nmueller , ja so ein guter Bastler bist: Der Kategorie-Name ist der eBay-Kategoriename (oder eBay Shop-Kategoriename, da hat man ja die Wahl für den eigenen Shop) ohne jede Sonderzeichen, Umlaute o.ä. Also prinzipiell müsste man sich nur alle Zeichen überlegen, die nicht zugelassen sind und sie durch "ae" (ä), "ue" (ü), etc oder eben den einfachen Bindestrich ersetzen. Aber ich denke, bevor man sich diese Mühe macht, kann man auf ein JTL-Update warten. Man muss den fertigen Namen ja auch irgendwo ziehen können.
 

nmueller

Sehr aktives Mitglied
5. April 2011
1.307
98
Saarland
Stephan K.

Die Namen kannst du aus der SQL ziehen, die liegen in der Tabelle ebay_shop_category. Sonderzeichen fliegen bei ebay raus, Leerzeichen werden zu - und Umlaute zu o,u,a, bei der SZ-Ligatur weiß ich es jetzt nicht. Allerdings funktionieren die Namen auch genau so, wie sie in der DB liegen - inkl. Sonderzeichen und umlauten (mit deinem _i.html dran).

https://www.ebay.de/str/X-Comics-GmbH/+++SALE+++/_i.html?_storecat=31771393011
offiziell: https://www.ebay.de/str/X-Comics-GmbH/SALE/_i.html?_storecat=31771393011

https://www.ebay.de/str/X-Comics-GmbH/Comics (Deutsch)/_i.html?_storecat=9419711
offiziell: https://www.ebay.de/str/X-Comics-GmbH/Comics-Deutsch/_i.html?_storecat=9419711

etc.

Da Google Leerzeichen nicht mag, könnte man diese ersetzen, denn

https://www.ebay.de/str/X-Comics-GmbH/Comics-(Deutsch)/_i.html?_storecat=9419711
funktioniert auch.

Kann man sich also tatsächlich über eine SQL Abfrage mit einem eigenen Array selbst knoddeln, z.b. aus der eben bereits verlinkten SQL-Abfrage (https://forum.jtl-software.de/threa...subkategorien-wie-anzeigen.80160/#post-468616).

Code:
{% if Vorgang.ShopKategorien != empty -%}
            {% assign ShopKat = 'SELECT [CategoryID],[ParentCategory],[Name],[nOrder] FROM ebay_shop_category where [ParentCategory] = 0 ORDER BY [Name] ASC ' | DirectQuery %}
            {% assign ShopKatSub = 'SELECT [CategoryID],[ParentCategory],[Name],[nOrder] FROM ebay_shop_category where [ParentCategory] > 0 ORDER BY [Name] ASC ' | DirectQuery %}

    <section id="" class="panel panel-default box box-linkgroup">
        <div class="panel-heading">
            <h5 class="panel-title">{{ GlobaleTexte.Übersetzungen.Kategorien | SelectLanguage: Vorgang.Sprache }}</h5>
        </div>
        <div class="box-body">
            <ul class="nav nav-list tree">         
                    {% for ShopKat in ShopKat.Daten %}
                        <li>
                         <a href="{{ Vorgang.ShopURL | Replace: 'http://www.ebay.de/', 'https://www.ebay.de/str/' }}/{{ShopKat.Name | Replace: ' ', '-'}}/_i.html?_storecat={{ ShopKat.CategoryID }}" target="_blank">{{ ShopKat.Name }}  </a>
                        </li>
                    {% endfor %}
          
              
            </ul>
        </div>
    </section>
{% endif -%}

Erweitert man den Replace String jetzt noch durch die ganzen Außnahmen, sollte es gehen. In der geposteten Form gehts jedenfalls in meinem Test jetzt schon, habe der Bequemlichkeit geschuldet nun nicht alle Sonderzeichen ausgewechselt. CSS zu obiger Abfrage muss gegebenenfalls auch noch geschrieben werden.

Würde JTL da etwas programmseitig vorlegen, wäre das natürlich die bessere Alternative :)
 
  • Gefällt mir
Reaktionen: Markus_MG

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.180
268
Stephan K.

Die Namen kannst du aus der SQL ziehen, die liegen in der Tabelle ebay_shop_category. Sonderzeichen fliegen bei ebay raus, Leerzeichen werden zu - und Umlaute zu o,u,a, bei der SZ-Ligatur weiß ich es jetzt nicht. Allerdings funktionieren die Namen auch genau so, wie sie in der DB liegen - inkl. Sonderzeichen und umlauten (mit deinem _i.html dran).

https://www.ebay.de/str/X-Comics-GmbH/+++SALE+++/_i.html?_storecat=31771393011
offiziell: https://www.ebay.de/str/X-Comics-GmbH/SALE/_i.html?_storecat=31771393011

https://www.ebay.de/str/X-Comics-GmbH/Comics (Deutsch)/_i.html?_storecat=9419711
offiziell: https://www.ebay.de/str/X-Comics-GmbH/Comics-Deutsch/_i.html?_storecat=9419711

etc.

Da Google Leerzeichen nicht mag, könnte man diese ersetzen, denn

https://www.ebay.de/str/X-Comics-GmbH/Comics-(Deutsch)/_i.html?_storecat=9419711
funktioniert auch.

Kann man sich also tatsächlich über eine SQL Abfrage mit einem eigenen Array selbst knoddeln, z.b. aus der eben bereits verlinkten SQL-Abfrage (https://forum.jtl-software.de/threa...subkategorien-wie-anzeigen.80160/#post-468616).

Code:
{% if Vorgang.ShopKategorien != empty -%}
            {% assign ShopKat = 'SELECT [CategoryID],[ParentCategory],[Name],[nOrder] FROM ebay_shop_category where [ParentCategory] = 0 ORDER BY [Name] ASC ' | DirectQuery %}
            {% assign ShopKatSub = 'SELECT [CategoryID],[ParentCategory],[Name],[nOrder] FROM ebay_shop_category where [ParentCategory] > 0 ORDER BY [Name] ASC ' | DirectQuery %}

    <section id="" class="panel panel-default box box-linkgroup">
        <div class="panel-heading">
            <h5 class="panel-title">{{ GlobaleTexte.Übersetzungen.Kategorien | SelectLanguage: Vorgang.Sprache }}</h5>
        </div>
        <div class="box-body">
            <ul class="nav nav-list tree">        
                    {% for ShopKat in ShopKat.Daten %}
                        <li>
                         <a href="{{ Vorgang.ShopURL | Replace: 'http://www.ebay.de/', 'https://www.ebay.de/str/' }}/{{ShopKat.Name | Replace: ' ', '-'}}/_i.html?_storecat={{ ShopKat.CategoryID }}" target="_blank">{{ ShopKat.Name }}  </a>
                        </li>
                    {% endfor %}
         
             
            </ul>
        </div>
    </section>
{% endif -%}

Erweitert man den Replace String jetzt noch durch die ganzen Außnahmen, sollte es gehen. In der geposteten Form gehts jedenfalls in meinem Test jetzt schon, habe der Bequemlichkeit geschuldet nun nicht alle Sonderzeichen ausgewechselt. CSS zu obiger Abfrage muss gegebenenfalls auch noch geschrieben werden.

Würde JTL da etwas programmseitig vorlegen, wäre das natürlich die bessere Alternative :)


Hoch soll er leben, hoch soll er leben, drei Mal: Hoch, hoch, hoch! :)
 

MaxVapor

Aktives Mitglied
12. Dezember 2015
82
5
Duisburg
Kommt wohl auch erstmal nicht. JTL hat mir vor zwei Tagen ein Update für die Datenbank zugeschickt was ich einspielen soll. Allerdings habe ich da bis dato die Finger von gelassen.
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.508
Grad nochmal geschaut. Wir haben dazu ein internes Ticket.
Die Kollegen haben schon Kontakt zu eBay zu dem Thema aufgenommen, aber dort ist das noch in Bearbeitung.
Es scheint ein globales eBay-Problem zu sein, welches noch nicht gefixt ist.
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.154
1.073
Aufgrund von diversen Ländern, Sprachen etc. hatten wir letztes Jahr, alle Urls hardcoded in den Vorlagen.

Die Urls sehen so aus (alt):

Code:
<li class=MenuItem><a href="https://stores.ebay.at/SHOPNAME/_i.html?_fsub=99999" id=99999 target=_blank title="SUPER SEO TITEL"><b>SUPER SEO NAME</b></a>
<ul class=MenuSub1Item>
<li> <a href="https://stores.ebay.at/SHOPNAME/_i.html?_fsub=99999" id=99999 target=_blank title="SUPER SEO TITEL1"><span>SUPER SEO NAME1</span></a></li>

so, mit dem ersetzen hab ich jetzt mal alles soweit, bis auf den blöden Kat-Namen, den krieg ich einfach nicht hin.
kein Cat.Name wie https://www.ebay.at/str/SHOPNAME/{{ Cat.Name }}_i.html?_storecat=9999 geht, keine andere von mir versuchte Variante ( cat.URL) usw.

nachdem ich mit stupidem STRG H bereits alles ersetzt habe in einer Vorlage, bräucht ich nurmehr die richtige Variable fürs einfügen der Kats....