+ fler guider ×
Bli medlem
Inloggad som ...
Inloggningstid: ??

MonthMarch 2015

WordPress-sajternas “nya” TopNav

TopNav är den lilla sidnavigeringen som ligger i toppen på alla sidor över hela FFU. Den har sett likadan ut i många år. Men nu har jag skrivit om koden till den, från grunden.

Här följer två jämförande bilder mellan den gamla versionen och den nya.

Före:
Screen Shot 2015-02-18 at 10.01.59

Efter:
Screen Shot 2015-02-18 at 10.05.22

Såg du någon skillnad? Nej, inte jag heller. Det är ingen skillnad. Designen är identiskt. Enda mikroskopiska skillnaderna man kan se är att text man skriver i login-formuläret fått lite marginal till vänster, ikonerna har justerat sina placeringar lite i samma formulär, och “FF-shop” har blivit “Final Fantasy”. Men annars är allt identiskt.

Vår förra TopNav var gjord som en iframe. Detta är en dålig teknik, den är speciellt dålig för sökmotoroptimalisering och sidan laddar lite saktare när sådant används. Så steg ett var att göra koden direkt på sidan och inte använda en iframe alls.

Inte heller var HTML-koden direkt semantiskt korrekt, eller direkt SEO-vänlig. Helt enkelt var koden väldigt ful. CSS:en var också väldigt dålig, upprepade väldigt många saker, och gjorde massa onödigt. Därför har bägge dessa skrivits om totalt från grunden. Samma utseende men så extremt mycket bättre (och modern kod istället för stenålderskod).

Sen så var den inte heller något mobilvänlig alls. Detta har också ändrats så att man kan få TopNav (utan login-funktionen dock) även på sin mobil. Ett stort lyft för våra mobilanvändare som behöver ta sig mellan våra olika spelguider.

Den nya lösningen är skriven in i vårt nya WordPress theme – “FFU2 – v1.5“. Trots att detta theme är byggt i PHP så använder faktiskt inte nya TopNav någon PHP alls. Jag tänkte lite långsiktigt och har skrivit koden så att allt baserar sig på bara JavaScript istället. Detta JavaScript anropar en fil på Windows-servern. Denna fil är skriven i klassisk ASP mest för att mycket kod redan fanns till detta och för att det är enda sättet att kunna kommunicera med Communityn som är helt lagad i det språket.

JavaScriptet börjar alla sidvisningar med att sända en fråga via Ajax till Windows-servern. Detta funkar vanligen inte, men genom att tillämpa CORS-principer så funkar allt nu fint. Windows-servern svarar med en JSON-fil som innehåller all data som behövs. Där står senaste nyheten vi har, om du är inloggad, och lite annan sån data. Dessutom – och detta är helt nytt – skickar vi med info om den senaste uppdateringen som gjorts på någon av våra guider. Så nu kan vi visa inte bara senaste nyheterna utan också senaste guide-uppdateringarna.

Denna JSON-fils data cachas också lokalt så att den genereras max en gång var 15 minut. Cachningen är global också, inte per besökare.

En annan liten fin detalj är att TopNav förut gjorde många http-request på grund av alla de små ikonerna, till communityns inloggnings-formulär bland annat. Detta är nu löst genom att jag slagit ihop alla ikoner till en enda “tilemap”-fil som istället får placera ut ikonerna genom att flytta på en bakgrundsbild och sedan “klippa bort” de ikoner som faller utanför.

Många roliga tekniker insprängda i en enda liten “modul” med andra ord. Nu återstår bara att byta ut alla Windows-sajternas gamla TopNav-kod med denna nya. Sen kommer jag hata TopNav lite mindre ;P

Och ja, FF-shoppen är nerlagd. Jag ska komma med mer info om det sen, men det var på tiden att klippa bort den döda grenen från FFUs träd.

Förbättrad meny

Theme 1.5 får nya små förbättringar kontinuerligt. En ganska stor (men osynlig) förbättring jag precis rullat ut är en helt ny meny.

Till vänster på alla sidor har vi en blå fin meny med en liten gradient på, samt vita ramar. Precis som menyerna brukar se ut i Final Fantasy-spelen. För två år sedan då detta theme designades så var stödet för att göra sådana saker (gradienter och skuggor) med CSS inte så bra. Men nu är stödet över 90% av alla webbläsare (inklusive mobil).

Så det jag har gjort är att istället för att ha fullt med extra “div”-taggar i koden, och flera olika bakgrundsbilder till menyn, så är nu koden omskriven till att enbart använda CSS till de fina menyerna. Dessutom kan nu menyerna ha fri höjd, förut var de tvungna att alltid vara minst 180 pixlar höga (pga hur allt var satt upp). Nu kan vi ha en meny med bara en enda länk utan att det är ett jättestort tomrum i botten.

Som en liten bonus så la jag också in så att denna design fick vara kvar på menyerna också på mobil. Tyckte det såg lite trevligare ut än att bara ha den där stora mörkblå bakgrunden med vita länkar på.

HTML5 + CSS3 for the win!

Fyra sajter till har nytt theme

Då har jag på fyra av de fem återstående sajterna bytt till vårt nya Theme. På dem alla så gjorde jag en liten insats att pröva möjligen förbättra sidstrukturen. Speciellt FF4-sajtens meny förändrades för att bli lite enklare och mer överskådlig.

Bravely Default-sajten så la jag också in alla bossar från guide-texterna till egna sidor med info om HP, svagheter, och tips.

Också FF1 och FF2-sajterna har bytt theme.

Nu är det bara FF7-sajten som inte bytt theme, men den får vänta lite eftersom den mer komplexa strukturen och de många sidorna på dem kan ta lite tid att flytta över till nya themet (eftersom menyer och sidmallar hanteras rätt annorlunda i nya themet).