Magento & Shopware
Services

Magento in onderhoud: Wat te doen?

Hoe en waarom zet ik een magento website in onderhoudsmodus?

Vaak willen webshop-eigenaren hun site even in onderhoud zetten, om noodzakelijke aanpassingen te doen. Het is dan wel de bedoeling dat gebruikers een heldere boodschap in beeld krijgen, terwijl de webshop achter de schermen kan worden aangepast.

Wat is hiervoor nodig?

1 x maintenance.flag bestand (dit is wat het onderhoud triggert en stuurt u naar de onderhoudspagina)
1 x index.php (dit zal u de ontwikkelaar / beheerder toestaan toegang te krijgen tot de site terwijl het wordt weergegeven in de onderhoudsmodus voor alle andere gebruikers)

Het stappenplan

Maak een backup! Klinkt logisch, maar wordt weleens vergeten. Hier zijn diverse methoden en manieren voor. Soms helpt je hostingpartij je hier al mee, daarnaast zijn er diverse gerelateerde threads op de Magento forums te vinden.

Maak een maintenance.flag bestand aan. Dit kun je heel simpel doen door in bv. Notepad een nieuw en leeg bestand aan te maken en deze op te slaan als maintenance.flag.

Sla dit bestand op in de root van de magento installatiedirectory; bijvoorbeeld als magento geïnstalleerd is als www.jouwdomein.nl/magento, plaats je het bestand in die betreffende magento map.

Zodra dit bestand gekopieerd is en u gaat naar uw website, dan zult u zien dat u nu uitkomt op een foutpagina met deze vermelding:

magento onderhoud error 503

Om heen en weer te schakelen tussen de onderhoudspagina of niet, kun je het makkelijkst het bestand maintenance.flag hernoemen naar maintenance.flag.uit.

Als u naar uw site bladert moet deze nu weer werken als normaal. Dit is de basis van de onderhoudsmodus voor Magento. Maar als ontwikkelaar/beheerder/eigenaar wil je de site kunnen blijven gebruiken, als de site in de onderhoudsmodus is, terwijl deze niet beschikbaar is voor andere gebruikers.

De volgende stap is om het bestand index.php te bewerken. Deze is te vinden in de backup.

Open index.php in de editor van uw keuze en ga naar lijn 57 (ongeveer), zoek naar een regel die het volgende bevat:

(file_exists($maintenanceFile)) {}

Onmiddellijk vóór deze regel dient de volgende code toegevoegd te worden:

$ip = $_SERVER['REMOTE_ADDR'];$allowed = array('1.1.1.1'); (waar 1.1.1.1 uw ip-adres is)

Vervolgens veranderen we deze regel:

(file_exists($maintenanceFile))

naar

 if (file_exists($maintenanceFile) && !in_array ($ip, $allowed))

Het zou er dan ongeveer zo uit moeten zien:

$ip = $_SERVER['REMOTE_ADDR'];$allowed = array('1.1.1.1');

if (file_exists($maintenanceFile) && !in_array($ip, $allowed)) {
include_once dirname(__FILE__) . '/errors/503.php';

Sla deze aangepaste index.php op in dezelfde folder als de eerder genoemde maintenance.flag

Wat heeft dit nu gedaan? Simpel gezegd hebben we een extra stap toegevoegd waarmee iedereen achter het ingevoerde ip-adres dat u hebt opgegeven voor toegang tot de website gewoon naar de site kan gaan, terwijl de site in de onderhoudsmodus is.

Nu hernoemt u het maintenance.flag.uit bestand terug naar maintenance.flag en kunt u testen of het werkt!

Eigen foutmeldingen

Voor veel mensen is dit precies wat ze zochten en kan er naar hartelust aan de website worden gewerkt. Echter, de foutmeldingen zijn nu in de standaard Magento-stijl, wat niet mooi is in combinatie met uw eigen templates en huisstijl.

Het aanpassen van de foutmeldingen lijkt veel op het bewerken / maken van een nieuw thema. In de root van de magento installatie staat een directory genaamd errors, binnen deze folder zal er een directory genaamd default te vinden zijn. Dat is omdat dezelfde aanpak naar map / bestandsstructuur voor thema ook hier is uitgewerkt.

Voor de toepassing van dit veronderstellen we dat u een sjabloon hebt, genaamd SD (Vervang SD met wat uw standaardsjabloon heette voor deze instructies)

Maak een nieuwe folder aan met de naam SD binnen de folder genaamd error.

Het volgende dat we moeten bewerken is het bestand local.xml, dat met de foutbestanden is gedownload en verander de regel die luidt <skin> default </skin> te <skin> SD </skin>. Sla dit bestand op.

Nu kopieer je alle bestanden van de error bestanden naar de SD map die u hebt gemaakt op de server.

Test uw site opnieuw (u moet of veranderen van het IP-adres dat u eerder hebt toegevoegd of een machine met een ander IP-adres gebruiken).

De foutpagina’s lijken nu nog niet anders dan voorheen, maar dat is alleen omdat de nieuwe foutpagina's nog moeten worden gestyled. U kunt de foutpagina's in de SD directory bewerken door de CSS aan te passen en het helemaal eigen maken. Als u de weergegeven berichten wilt wijzigen, hoeft u alleen de fout pagina's zelf (503.php 404. php enz) te bewerken.