Imagegalleries en het geklooi errond

23-06-2010

23:07:07 @Diepenbeek

Een van de redenen waarom ik een eigen domein wilde, was dat ik heel makkelijk een hele reeks foto\'s online zou kunnen zetten. Dat spreekt voor zich, gewoon met Filezilla alles op de server zetten en klaar. Maar, zoals elke (amateur)fotograaf wilde ik ook dat mijn foto\'s bekeken konden worden. Zodoende zocht ik het internet af naar imagegalleries, gallerijen om afbeeldingen te laten weergeven. In eerste instantie was dat ook vrij makkelijk om te vinden. Keuze genoeg, met een MySQL-database, zonder MySQL-database, met uitgebreide grafische interface, zonder grafische interface. Op goed geluk heb ik er eentje gedownload, en geïnstalleerd. Na een paar maanden en een tienduizendtal foto\'s later vond ik het systeem en de lay-out toch niet meer zo \'waw\', dus zocht ik verder. Inmiddels was ik al bekender met jQuery, een super-stoere-lightweight JavaScriptlibrary voor fancy stuff. Scrolldownbalkjes, fading in en out, allemaal superleuk. Ik had jQuery al gebruikt voor een lightbox, maar meer omdat \'t erbij moest.

Zodoende verdiepte ik mij in jQuery. Ik kwam er achter dat jQuery ook heel handig met AJAX overweg kon, waar ik in het begin weinig waarde aan hechtte, maar inmiddels des te meer. AJAX is heel handig om bepaalde pagina\'s heel vlotjes en voor de gebruiker heel snel te laten weergeven. Je kan het een beetje vergelijken met frames, maar dan op een andere manier. Hoe dan ook, het nadeel van AJAX is dat - aangezien je eigenlijk niets met de URL doet - je geen gegevens uit de URL kan halen. Dat is aan de ene kant een voordeel, maar in mijn geval enorm vervelend.

Want hier is het probleem: als je duizend foto\'s in een mapje hebt, en je wilt die allemaal weergeven, dan doe je dat niet op één pagina. Da\'s gewoon te veel van het goede, zelfs met een deftige thumbnailer. Daarom besloot ik om ze per twintig op één pagina weer te geven, waardoor je dus een paginasysteem nodig hebt. Geen probleem, een beetje elementaire wiskunde leverde de volgende formule op: aantalafbeeldingen / 20 = aantal pagina\'s. En daar doe je dan wat leuke dingetjes in php mee, en ziedaar: je paginasysteem werkt. De links werken allemaal perfect, je kan lekker van de ene naar de andere pagina gaan zonder enig probleem. Totdat je de link aan iemand wilt geven omdat op die pagina een heel leuke foto staat. Je kan namelijk niet direct linken - nu tijdelijk wel, daar kom ik later op terug - naar de afbeelding, dus moet je naar de pagina linken. Nu staat er wel een hash (#) in de link, maar daar kan je niets mee. Achter de hash komt de pagina te staan: pagina 3 is dus #3, pagina 34 is dan #34. Maar als je die link geeft aan iemand, en die persoon gebruikt die link, dan komt die op de eerste pagina terecht. Gewoon omdat de website niet weet wat te doen met die hash. Normaal gezien wel, maar omdat er nergens een anchor #3 of #34 is, doet de website er niets mee.

Meteen toen ik dat probleem tegenkwam, heb ik een oplossing gezocht, en vrij snel ook eentje gevonden. Natuurlijk een jQuery-oplossing, omdat dat \'t makkelijkste is. Vrolijk die boel integreren, en klaar. Zo leek het toch. Ik had inmiddels al een werkende lightbox op die pagina\'s, die zonder problemen de normale afbeeldingen liet zien. Helaas willen die twee gewoon niet samenwerken. Of eigenlijk wil AJAX wel werken, maar de lightbox niet meer.

Dus dat moet ik komende week nog zien op te lossen, zodat ik klaar ben voor de vakantie.

Overigens heb ik nog een blunder vanjewelste gemaakt: tijdens het afwerken van de imagegallery, die ik zelf heb geschreven, ben ik zo stom geweest om een submap/index.php de root/index.php te laten overschrijven. En ik heb er geen back-up van. Althans, niet bij de hand, de originele ligt nog thuis, maar daar schiet ik nu dus niet veel mee op. Dan maar een tijdelijke indexpagina gemaakt, met de links naar de onderliggende mappen. Die werken trouwens wel goed, behalve de lightbox dan.

En ik zou nog terugkomen op dat linken: aangezien de lightbox die ik gebruikte uit zichzelf geen deeplinking toe liet, heb ik dat nog niet kunnen inbouwen. De volgende stap zal dus een permalink bij de afbeeldingen zijn.

Campoblanco - om even iets totaal anders aan te halen - is praktisch klaar, de links voor de reservatie- en contactpagina moeten nog goed gezet worden. Dan nog een heel simpel CMSje maken en dan is \'t af.

Terug

Tagcloud