Ich möchte nicht gleich auf Github Alarm schlagen - lieber erstmal hier fragen.
1. Wunsch (schon ziemlich wichtig) :
Backend -> Artikelübersicht -> Artikel neu sortieren (alphabetisch, ...?)
- Man kann zwar die einzelnen Artikel gut verschieben, das ist aber bei vielen Artikeln mühselig.
Alternative: Evtl. neue Artikel gleich alphabetisch einsortieren und nicht nach Eingabedatum.
Ob andere Sortier-Kriterien gewünscht/sinnvoll sind ... ?
2. Wunsch (nicht ganz so wichtig):
Frontend -> Artikelübersicht -> Artikel sortiert anzeigen: 1. alphabetisch, 2. nach Preis (ab- und auf)
Wie sähen die Umsetzungs-Möglichkeiten aus?
xhShop - Sortierung
Re: xhShop - Sortierung
Noch ein Nachtrag zum vorherigen Post 1.:
... sollte nur für das Frontend gelten.
Im Backend sollte die Anzeige aller Artikel in der Übersicht immer möglich sein.
Code: Select all
$plugin_cf['xhshop']['categories_allow_show_all']= ...
Im Backend sollte die Anzeige aller Artikel in der Übersicht immer möglich sein.
Re: xhShop - Sortierung
Und da beginnen die Probleme, weil die Standard-Zeichenketten-Vergleichsfunktionen von PHP es nicht so mit der richtigen Sortierung von Texten haben; z.B. ist 'ä' > 'z' (zumindest bei UTF-8 und ISO-8859-?). Das liegt vermutlich daran, dass man die Sortierung traditionell der Datenbank überlassen hat. Die Intl-Extension bietet gute Unterstützung für die richtige Sortierung, aber die ist wohl häufig gar nicht verfügbar. Okay, da gibt es noch die Standardfunktion strcoll, aber diese berücksichtigt Groß-/Kleinschreibung (was beim Sortieren i.d.R. nicht gewünscht ist), und dürfte unter Windows für UTF-8 nicht korrekt funktionieren.
JavaScript's .localeCompare wäre vielleicht ein Workaround. Schau ich mir nachher mal genauer an.
Christoph M. Becker – Plugins for CMSimple_XH
Re: xhShop - Sortierung
Damit könnte man evtl. leben.
Meine Erfahrungen diesbezüglich: Auf gut gepflegten Servern mit aktuellen PHP-Versionen ist sie drin.
Leider tauchen solche Wünsche erst in der Praxis auf.
Danke, dass du drüber nachdenkst
Re: xhShop - Sortierung
Okay, mal ein schneller Entwurf für eine (temporäre) alphabetische Artikelsortierung im Frontend. Dazu folgende Zeilen vor dieser Zeile einfügen:
Um dann tatsächlich zu sortieren Browserkonsole öffnen, und dort eingeben:
oder
Das erste sortiert aufsteigen, das zweite absteigend. Wenn das so nützlich ist, könnte man halt entsprechend einen Button (oder was auch immer) im Katalog-Kopf ergänzen, der die Funktion aufruft.
Entspechendes Sortieren nach Preis wäre etwas aufwendiger, weil die Preise im Frontend lokalisiert dargestellt werden, JS aber kein Dezimalkomma mag. Man könnte den Preis so wie er in catalog.php steht noch als data-* Attribut ergänzen, und gemäß dem Wert dieses Attributs sortieren.
Und ja, Sortieren im Frontend ist wohl sehr sinnvoll. Das nur per JS anzubieten vielleicht auch akzeptabel.
Dauerhafte Sortierung per Backend wird auf jeden Fall aufwendiger …
Code: Select all
function XHS_sortArticles(direction = 1) {
var overview = document.getElementById("xhsOverview");
var articles;
if (overview) {
articles = Array.from(overview.getElementsByTagName("article"));
articles.sort(function (a, b) {
var titleA = a.getElementsByClassName("xhsProdTitle")[0].textContent;
var titleB = b.getElementsByClassName("xhsProdTitle")[0].textContent;
return direction * titleA.localeCompare(titleB);
});
articles.forEach(function (article) {
overview.appendChild(article);
});
}
}
Code: Select all
XHS_sortArticles()
Code: Select all
XHS_sortArticles(-1)
Entspechendes Sortieren nach Preis wäre etwas aufwendiger, weil die Preise im Frontend lokalisiert dargestellt werden, JS aber kein Dezimalkomma mag. Man könnte den Preis so wie er in catalog.php steht noch als data-* Attribut ergänzen, und gemäß dem Wert dieses Attributs sortieren.
Und ja, Sortieren im Frontend ist wohl sehr sinnvoll. Das nur per JS anzubieten vielleicht auch akzeptabel.
Dauerhafte Sortierung per Backend wird auf jeden Fall aufwendiger …
Christoph M. Becker – Plugins for CMSimple_XH
Re: xhShop - Sortierung
Chapeau!
Die alphabetische Sortierung im Frontend funktioniert hervorragend!
Und schön schnell - ohne Seitenwechsel.
Wobei die Preis-Sortierung wohl noch wichtiger wäre
Vielleicht fällt uns DIR da noch was ein.
Die alphabetische Sortierung im Frontend funktioniert hervorragend!
Und schön schnell - ohne Seitenwechsel.
Auf jeden Fall!
Wobei die Preis-Sortierung wohl noch wichtiger wäre
Ja - aber genau das wäre für die Artikelpflege noch wichtiger
Vielleicht fällt uns DIR da noch was ein.
Re: xhShop - Sortierung
Stimmt, denn Geiz ist geil!
Ich weiß, denn ich bin doch nicht blöd!
Bestimmt. Vorher schreibe ich aber noch eine kleine Migrationsanleitung für das Bamphp.
So, mal Spaß gehabt. Jetzt geht's weiter.
Christoph M. Becker – Plugins for CMSimple_XH