Overzicht van artiesten met data grid - jquery
Vanwaar die inconsistentie in die URL?
ik had een site gevonden waar wel een leuke filter optie op zat. Sportsspeakers.nl. Daar kan jij bij sprekers filteren. Als je dan een keuze maakt kan het de ene keer site.nl/sprekers/taal/engels staan en als je geen taal kiest maar hiv een sport dan staat er site.nl/sprekers/sport/voetbal
Kees Mulder op 12/01/2019 13:57:08:
en als je geen taal kiest maar hiv een sport dan staat er site.nl/sprekers/sport/voetbal
Sorry maar dat is vrij smakeloos en nogal onwaardig als je streeft naar een professionele uitstraling.
Kees Mulder op 12/01/2019 11:57:50:
site.nl/artiesten/genre/klassiek/taal/nederlands
maar ook anders om:
site.nl/artiesten/taal/nederlands/genre/klassiek
maar ook anders om:
site.nl/artiesten/taal/nederlands/genre/klassiek
Wederom, dit moet je zelf programmeren. Alle informatie zit in dit geval toch in je URL?
Hierbij is het wel belangrijk dat er geldige "keywords" in de URL zitten, want die bepalen de opbouw van de query/pagina, dus deze zal je altijd eerst moeten valideren. Bovenstaande opbouw is inderdaad niet erg logisch, want in wezen zijn "taal" en "genre" beide categorieën die een overlap kunnen hebben.
In dit geval ben je ook bezig met filteren en willekeurige selecties aan het maken. Hier wil je geen "concrete" pagina's van maken, dit is meer zoekfunctionaliteit. Wel kan ik mij indenken dat /artiesten/genre/klassiek of /artiesten/taal/nederlands een of andere lijst ophoest, dit is dan een indeling op een enkele eigenschap (categorie).
Maar je zult eerst een soort van indeling moeten verzinnen. Je kunt niet zomaar pagina's gaan breien, hier moet je eerst over nadenken.
Ook kan ik mij wel een soort van "vrije" zoekfunctie indenken, waarbij je dus inderdaad op meerdere kenmerken (zoals een categorie waar een groep of nummer onder valt) zoekt, en de resultaten hier op filtert, maar dan zou ik eerder een URL als /artiesten/zoeken?taal=nederlands&genre=klassiek verwachten ofzo. En deze resultaten wijzen vervolgens weer naar andere pagina's met een vast naamgevingsstramien.
Gezien de moeite die dit alles lijkt te kosten denk ik dat het verstandig is dat je eerst eens het een en ander op een rij zet voordat je code begint te kloppen. Verzin eerst een paginaindeling, en bedenk voor je zelf wat de site verder nog allemaal moet kunnen (uitgebreide zoekmogelijkheid?).
Kan je dat dan nog steeds met een get doen?
Je moet altijd een key (Taal) en value (Nederlands) hebben. Dus je moet gewoon een goede groepering in de URL houden bij een SEO-vriendelijke mogelijkheid.
Als het om zoeken gaat is $_GET interessanter. Hoe ziet jouw idee er uit?
Teken anders eens een functioneel ontwerp.
Kees Mulder op 12/01/2019 16:36:03:
Alleen ik snap niet zo goed hoe je dat nu doet met een url als artiesten/taal/Nederlands/genre/klassiek.
Heb je mijn bovenstaande verhaal gelezen? Je wilt hier appels en peren bij elkaar gooien.
/artiesten/taal/nederlands en /artiesten/genre/klassiek zijn overzichtspagina's met een categorie-indeling.
/artiesten/zoeken?taal=nederlands&genre=klassiek is zoekfunctionaliteit. Dit soort pagina's hoeven geen zoekmachinevriendelijke URLs te hebben omdat zoekmachines toch geen formulieren invullen.
/artiesten/taal/nederlands/genre/klassiek (als pagina) slaat eerlijk gezegd niet ergens op. Of je zou een heleboel van dat soort pagina's moeten kunnen detecteren. Het probleem is hier ook een combinatie-explosie. Je hebt dan <aantal talen> * <aantal genres> pagina's die min of meer hetzelfde weergeven.
En het verwisselen van de argumenten heeft al helemaal geen zin en ook wordt je hier door zoekmachines voor bestraft omdat dat in wezen verschillende URLs zijn die naar dezelfde content wijzen (aliasing). Dit is gewoon iets wat je wilt vermijden.
Kees Mulder op 12/01/2019 16:36:03:
Kan je dat dan nog steeds met een get doen?
Heb je dit uberhaupt geprobeerd? Natuurlijk kan dit.
Gewijzigd op 12/01/2019 17:30:10 door Thomas van den Heuvel
site.nl/televisies
site.nl/televisies/oled
En als je een filter gaat doen op merk dan krijg je
site.nl/televisies/oled/merk:lg
Zouden ze dan voor de bovenstaande voor televisies - televisies.php en oled.php hebben gemaakt?
Of als je voor oled kiest maken ze gebruik van de pagina televisies.php en hebben ze daar een filter in geschreven?
En voorbeeld kan je hier vinden:
https://www.google.com/amp/s/www.codediesel.com/php/how-do-mvc-routers-work/amp/
Gewijzigd op 12/01/2019 22:51:30 door - Ariën -
Kees Mulder op 12/01/2019 22:34:20:
site.nl/televisies
site.nl/televisies/oled
En als je een filter gaat doen op merk dan krijg je
site.nl/televisies/oled/merk:lg
site.nl/televisies/oled
En als je een filter gaat doen op merk dan krijg je
site.nl/televisies/oled/merk:lg
Mja, maar in dat geval ga je van grof naar fijn, en heb je ook een echte hierarchie in de niveaus zitten. Met /artiesten/taal/nederlands/genre/klassiek maak je een of andere rare dwarsdoorsnede. Dat rijmt simpelweg niet met een sitestructuur.
Nogmaals, denk eerst eens in structuren. Op welke manieren wil je artiesten en dergelijke weergeven? Ik kan mij al een aantal vormen indenken zoals genre, jaartal, taal, band etc..
Maar dat is aan jou.
Vervolgens ga je kijken hoe je dit met techniek aan elkaar kunt breien.
Maar tijdens het bouwen bedenken hoe iets er uit komt te zien heeft niet zoveel zin. Als je een huis bouwt heb je vantevoren ook een blauwdruk. Maak eerst die blauwdruk.
site.nl/artiesten (alle artiesten - artiesten.php)
site.nl/artiesten/popgroepen (alle popgroepen - popgroepen.php)
site.nl/artiesten/zangers (alle zangers - zangers.php)
alle overige zijn dan filters zoals budget, jaartal, taal, etc.
Dan is alleen de vraag hoe zou dat laatste het beste kunnen zodat het url vriendelijk is en ook oke voor SEO.
site.nl/artiesten/popgroepen?taal=nederlands&budget=1000
of zoals coolblue.nl
site.nl/artiesten/popgroepen/taal:nederlands/budget:1000
Heb je al eens gekeken hoe een routing-class werkt?
https://www.codediesel.com/php/how-do-mvc-routers-work/
Kan dan de routing van
site.nl/artiesten
site.nl/artiesten/popgroepen
site.nl/artiesten/zangers
Naar 1 pagina sturen artiesten.php
Het enige waar ik dan niet uit kom is hoe ik popgroepen of bijv. zangers kan filters uit mijn sql query. Hoe haal ik de informatie uit de path / url waarmee ik dan verder kan filteren in artiesten.php.
Ik heb dit voorbeeld gelezen: Kan dan de routing van
site.nl/artiesten
site.nl/artiesten/popgroepen
site.nl/artiesten/zangers
Naar 1 pagina sturen artiesten.php
Het enige waar ik dan niet uit kom is hoe ik popgroepen of bijv. zangers kan filters uit mijn sql query. Hoe haal ik de informatie uit de path / url waarmee ik dan verder kan filteren in artiesten.php.
Als je er maar wel voor zorgt dat er een hiërarchie is aanwezig is, zoals Thomas zegt.
Kees Mulder op 14/01/2019 10:31:46:
site.nl/artiesten/popgroepen?taal=nederlands&budget=1000
of zoals coolblue.nl
site.nl/artiesten/popgroepen/taal:nederlands/budget:1000
of zoals coolblue.nl
site.nl/artiesten/popgroepen/taal:nederlands/budget:1000
Dan lijkt mij het tweede beter, omdat het eerste deel een querystring bevat. In dat geval heb je een heleboel "/artiesten/popgroepen" pagina's die achter een zoekformulier zitten die niet bereikt worden.
Alle informatie zit in de tweede variant in je URL, dus als je zorgt dat je uitkomt bij /artiesten/popgroepen kijk je vervolgens welke <key>:<value> paren er verder in je URL zitten en of deze geldige waarden bevatten. Vervolgens kun je hiermee je query opbouwen.
Gewijzigd op 14/01/2019 23:59:05 door Thomas van den Heuvel