Manuals     Documents           Torna a Eurion Networks

Manuals

Crear 'themes' per a PHP-Nuke

Abans de començar
Bé, abans de començar dir que sense coneixements mínims de HTML és millor no seguir llegint.
Els coneixements PHP necessaris no són molt complicats i es poden aprendre molt ràpidament (es donaran més endavant).

Classificació de Themes
Bé, anem a començar classificant una mica els 'themes' de PHP-Nuke.
En aquest manual diferenciarem els 'themes' en dos tipus:
1.- Els 'themes' basats en format NukeNews.
2.- Els 'themes' generals en PHP.
Per què aquesta classificació? Doncs bé, els 'themes' en format NukeNews van separats part per part amb fitxers especifics per cada zona. Els 'themes' generals son aquells que només porten un theme.php amb alguna carpeta de imatges i 'styles'.

Parts d'un 'theme' general
Aquests themes tenen tota la informació, funcions PHP i disseny incluit dins del theme.php. Haurem d'editar aquest fitxer per anar modificant i obtenir el resultat desitjat.
Per això, l'obrim amb un editor de codis, com ara el 'Bloc de Notes' i modifiquem al nostre gust.

'Theme' en format NukeNews
Per altre part, si obrim la carpeta /themes/NukeNews/ veurem els següents arxius:
1.- header.html (Arxiu que conté el diseny de la capçelera)
2.- blocks.html (Arxiu que conté el diseny dels blogs)
3.- footer.html (Arxiu que conté el diseny del peu de pàgina)
4.- left_center.html (Arxiu que conté el diseny de la part central-esquerra)
5.- center_right.html (Arxiu que conté el diseny de la part central-dreta)
6.- story_home.html (Arxiu que conté el diseny de les noticies de la pàgina principal)
7.- story_page.html (Arxiu que conté el diseny de les noticies a l'apretar a 'Llegir més')
8.- theme.php (Arxiu que conté totes les funcions PHP utilitzades pel 'theme' )
9.- tables.php (Arxiu que conté el diseny de les taules general del PHP-Nuke)
Haurem d'anar modificant arxiu a arxiu per anar modificant cada zona del nostre 'theme'.

Programes d'Edició
Com a opció general la solució és utilitzar el 'Bloc de Notes', ja que aquest mai donarà problemes.

Com editar 'themes' generals PHP?
No hi ha cap altre remei que editar el codi PHP amb el Bloc de Notas o qualsevol altre editor que tinguem a mà (Nota del traductor: com, per exemple, el PHP Designer 2005).
En aquest cas no hi ha cap altre solució possible. L'arxiu theme.php conté una serie de funcions PHP que influeixen funcions i disseny. (Les funcions estan explicades més endavant.)

Com editar 'themes' del format NukeNews?
Podems editar cada part del 'theme' amb el 'Bloc de Notes' sense problemes.
A diferència dels 'themes' generals ara podrem editar cada part del diseny del 'theme' amb un editor visual.
Per a tots aquells que estiguin acostumbats a disenyar les seves webs amb editors visual, com per exemple el Dreamweaver, hauran de tenir en compte el següent punt:
• Si obrim la part d'un 'theme' en format NukeNews amb un editor visual com ara el Macromedia Dreamweaver 4 el més probable es que s'espatlli el 'theme'.
El motiu d'això és que els editors visuals tanquen les taules automàticament, afegint codi font que provoca que les taules no funcionin correctament o es modifiquin inadecuadament. Al completar aquest codi el resultat no és el desitgat.
I molts es preguntaran: I com ho fem, doncs? Editant el codi font? Doncs bé, la resposta és NO. No necessàriament.
Actualement hi ha editors visuals que no tanquen les taules. Entre ells destaquem el Macromedia Dreamweaver MX (hi ha més editors vàlids). Podrem, per tant, utilitzar aquest editors que no modifiquen el codi per modificar el diseny del nostre 'theme'. El procediment serà anar modificant cada part del 'theme' al nostre gust.

Exemple de creació d'un 'theme' en format NukeNews (per a principiants)
Anem ara a crear el nostre 'theme' pas per pas. Ens basarem en el format NukeNews, de manera que podem editar visualement el diseny.
1.- Fem una copia del 'theme' NukeNews incluit a /themes/ i renombrem la copia de la carpeta NukeNews com a "ThemeProva".
2.- Editarem el codi font de tots i cadascun dels fitxers. Reemplaçant NukeNews per ThemeProva. El procediment és anar obrint un per un cada fitxer amb el 'Bloc de Notes' o un programa similar i anar reemplaçant a tot arreu on ho posi: 'NukeNews' per 'ThemeProva' (pots utilitzar l'opció 'Reemplaçar' o [Ctrl + R]). La finalitat d'això és corregir tots els enllaços.
3.- A continuació aplicarem el 'theme' des de admin.php > Preferències > Temes de la web.
4.- Ara estarem utilitzant el ThemeProva com a disseny de la web i el disseny serà, evidentment, igual que el NukeNews
5.- Des d'aqui comença ja la feina, segons l'imaginació i diseny de cadascú.
6.- Per començar a tocar el disseny començarem amb alguna cosa senzilla com treure o modificar alguna part.
Per exemple: Obrim el header.html amb el Dreamweaver MX (o un programa similar) i canviem la posició del logo.A continuació guardem i actualitzem (F5) el navegador on estem visualizant la web amb el theme ThemeProva. Aquesta es la manera d'anar modificant.
Si en algun cas veiem que s'ha espatllat el 'theme' anem a /themes/NukeNews/, agafem el fitxer que hem espatllat i el reemplaçem en /themes/ThemeProva/ (Recorda tornar a substituir 'NukeNews' per 'ThemeProva', per que funcionin els enllaços).

Funcions PHP que tenim en el theme.php
Aquesta part es general per a tots els 'themes' PHP-Nuke. Pot ser que algunes funcions no estiguin definides o que hi hagi més funcions, això ja depen de cada theme. Generalment les funcions més importants són:
- themeheader (Funció per disseny i codis utilitzats en la capçelera)
- function FormatStory (Funció per disseny i codis utilitzats per el format de les noticies)
- function themefooter (Funció per disseny i codis utilitzats en el peu de la pàgina)
- function themeindex (Funció per disseny i codis utilitzats per el format de les noticies de la pagina principal)
- function themearticle (Funció per disseny i codis utilitzats en noticies)
- function themesidebox (Funció per disseny i codis dels blocs)



Article original: PHPNuke-Hispano
Traducció i adaptació: RainCT.
Correcció: JoTGi.

© CyberCat, Eurion Networks
Membre de WICCAC