Bedste sted at have sine ikoner

Tags:    database code-igniter php array

Hejsa.

Jeg har købt mig et design med en hulens masse ikoner i.
For god ordens skyld skal det siges at ikoner generes ved følgende linje
Fold kodeboks ind/udHTML kode 

Jeg vil gerne gøre det nemt via enten min config fil eller via min database til at bestemme hvilke ikoner der skal være hvor.
På nuværende tidspunkt har jeg i min config fil et array hvor alle ikonerne er er plottet ind også via et simpelt array[index] bestemmer jeg hvilket ikon der skal være tilknyttet lige dette sted.
Det vil også sagtens virke når jeg kun skal gøre det via min config fil. Problemet kommer i at jeg også gerne vil bruge det på min menu.
Menuen er placeret i min database og bliver hentet via en nested liste og køres igennem en rekursiv funktion.

Så spørgsmålet går i alt sin enkelhed ud på, hvor skal jeg ligge mine ikoner så jeg kan anvende dem igennem det hele?
Det skal siges der er 3 typer ikoner (Font Awesome, Entypo og Glyph).

Nogen der ligger inde med forslag til hvordan jeg kan klare det?



9 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 23 karma
Sorter efter stemmer Sorter efter dato
Brug en række navne der identificerer hvert ikon i en familie. Hvert navn refererer så til samme ikon i hver familie. Navnet er så en del den css-class der skal benyttes for at påklistre et ikon til dit menupunkt eller lign.

Du kan så lagre alle ikon navne i sin egen tabel og så lave en 1-1 fremmednøgle mellem ikon-tabel og f.eks. menu-tabel. Når du så henter dine menupunkter "join'er" du ikonerne på.

Den ikon familie der så skal vises bestemmer du enten ud fra din globale config-fil, temaet's config-fil, eller config gemt i database.



Indlæg senest redigeret d. 13.06.2014 23:22 af Bruger #10216
Du skal kun have det et sted. Og bedste sted er databasen. I dit system kan du så tilføje mulighed for at tilpasse ikoner - hvis du en dag skulle få brug for nye ikoner.

Men igen, det hele afhænger af hvor stort behov der er for sådan en fleksibilitet.



Indlæg senest redigeret d. 14.06.2014 00:42 af Bruger #10216
Det kan jeg heller ikke - men det kunne være du havde udtænkt en smart løsning. :)

Men når du lagrer dine ikoner som CSS, så har du ikke behov for meget andet end navnet på en tilsvarende css-klasse. Det kan jo passende stå i databasen. Og ønsker du at bruge en config-fil til det, så kan du bruge dit temas config-fil til at lagre hvilke css-klasser der er til rådighed.



Enten det, ellers også forstår du ikke hvad jeg skriver. :) du skal gemme navnet på dit ikon - altså en tilsvarende css-klasse.
Den gemmer du i din database og kobler på hvert menu punkt, enten fra sin egen tabel, eller som et simpelt tekstfelt på dit menu punkt.
De tilgængelige css klasser / ikon klasser henter du enten fra sin egen tabel i databasen eller fra en liste gemt i dit temas config fil.

Mere enkelt bliver det ikke.



1) Gemmer du det i databasen, har du mulighed for at skrive dit system så andre kan tilføje og ændre disse klasser.
2) Gemmer du det i en config fil, så har kun udvikleren / dig mulighed for at ændre hvilke tilgængelige klasser der kan bruges.

Hvordan du påstempler det menupunktet og andre elementer afhænger af hvilken metode du bruger. Er det i databasen kan du f.eks. lave det som fremmednøgler. Er det i en config fil, så må det blive som tekst-strenge du gemmer.

Der er redaktionelt ikke nogen "best practice", så det afhænger af hvilke muligheder du ønsker.



Havde godt tænkt over den med 1 til 1 relation mellem ikon og menu tabellerne.
Jeg ville dog gerne undgå at reelt skal have det to steder, altså i mit config og i min db.

Eller er jeg helt forkert på den?



Hvordan bruger jeg det så i min config fil, det kan jeg ikke lige se?



Tror vi snakker lidt forbi hinanden.

Alle ikoner findes allerede som css classes. Det er den måde jeg referer til dem på.





Så langt er jeg med.
Kan bare ikke se hvordan jeg gør det bedst i mine designs og med de ikoner?



t