location reminder

Omdat ze bij Csorbamedia met veel verschillende servers werken (localhost-, test- en liveserver) was het niet altijd overzichtelijk op welke server je nou zat. Vandaar dat er een “Location reminder” plugin moest komen. Hiermee kon je instellen op welke server je zat (local, staging of live) en vervolgens werd die weergeven in de hoek van je scherm. Deze plugin moest voor 3 CMS systemen worden gemaakt: WordPress, Drupal en Magento.

Voor iedere CMS werkte het een beetje anders, maar overal was het uiteindelijke resultaat hetzelfde: Een opvallend blokje met jouw serverlocatie.

Ik begon met het maken van de WordPress versie, dit was, ver uit, de makkelijkste CMS. Met behulp van mySQLi sla ik de geselecteerde optie op in de database. Met een WordPress functie maakte ik het menu aan waarin alle opties beschikbaar waren met design opties: je kan instellen in welke hoek je hem wil, opacity, welke kleur en welke tekst je erin wil. Voor de opacity regelaar had ik een JsFiddle gebruikt die met behulp van een range-input de opacity van een element kon veranderen. Hier had ik nog toegevoegd dat je met behulp van jQuery realtime kunt zien of je het ontwerp mooi vindt voordat je het opslaat.

Drupal werd al gelijk een grotere uitdaging. Omdat ik nog niks wist van dit CMS, moest ik me eerst gaan verdiepen. Drupal werkt namelijk met een Block systeem. Je moest dus een module maken met een Block element en een help element – pagina om je optie te kunnen selecteren – en vervolgens je block selecteren via het structuur menu. De selectie werd net als bij de WordPress versie in de database opgeslagen.

Tenslotte moest er ook een Magento versie komen. Ik dacht dat Drupal coderen een hell was, maar toen was ik Magento nog niet tegengekomen. Omdat Magento een hele complexe structuur had, was dit ver weg de meest uitdagende plugin om de maken, ik zal mijn best doen om dit zo duidelijk mogelijk uit te leggen. Omdat Magento zeer effectief laadt, zorgt het ervoor dat het alleen onderdelen laadt die daadwerkelijk in gebruik zijn. Daarvoor moeten er verschillende listeners en handlers gebruikt worden. Omdat ik hier helemaal geen ervaring mee had was het zeer lastig.

Behalve de immens ingewikkelde structuur zijn nog andere verschillen: de selectie wordt namelijk opgeslagen in de instellingen database tabel. Je hoeft dus niet zelf eerst een nieuwe tabel te genereren.

Bij deze opdracht heb ik gewerkt met WordPress CMS, Drupal CMS, Magento CMS, js/jQuery, PHP, mySQLi en html/css.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>