Skip to main content Help Control Panel

YACS CMS : Open source !

Community «   Le forum «   Soupçons de bogues «  

Skin Skeleton à la dérive [résolu]

Manu -- on Mar. 27 2006, from Caribbean
YACS team - Modérateur/Beta testeur
Voilà, lorsque je tente de dériver le skin Skeleton, il me crée bien le nouveau dossier du skin avec toute l'arborescence comme il faut.

" Ben alors c'est quoi le problème ? "


Ben disons que lorsque l'on souhaite modifier quelque peu le CSS et le Template il ne se passe pas grand chose ...

Plus précisément, et en regardant de plus près, il s'avère que dans les fichiers PHP 'manifest', 'template', 'template.php_yacs_cache' et template_slideshow' le dossier '/skeleton/' n'est pas remplacé par le nouveau nom dérivé .

Résultat, toute modification d'images n'est pas prise en compte car il continue de les chercher dans 'skins/skeleton/images'.

Dernière chose, pourquoi existe-t-il un fichier 'skin_skeleton.php' dans /yacs/skins/ ? Et pourquoi uniquement pour ce skin ? Il ne devrait pas être dans le dossier du skin ? Pourquoi les autres skins n'ont pas d'équivalent ? Hein, pourquoi pourquoi ?

Je pose trop de questions, c'est ça :X !

Donc avec un simple éditeur (notepad), il suffit dans les fichiers PHP cités ci-dessus de remplacer '/skeleton/' par '/NomDuNouveauSkinDérivé/' et de renvoyer les fichiers via FTP et tout roule.

Ha c'est ça la solution ? ben alors il n'y a pas de bug ? Alors pourquoi ce post ? Hein, pourquoi ?

Comments

Fernand
avatar
from Paris
1313 posts

on Mar. 27 2006


Heu... Il y a cette doc Comment dériver les styles natifs.
Il l'a lue cette doc :D ?!!
Trêve de plaisanterie, dériver un style, c'est simple. Il y a deux choses à dupliquer, renommer, et bidouiller:
-  Le fichier CSS contenu dans le répertoire du skin en question.
-  le fichier template.php contenu dans le répertoire du skin en question.

Ne pas oublier de les renommer. Pigé ?
Et ne pas craindre non plus de re-poster ici si vraiment pas pigé quelque chose...
GnapZ
from Caribbean
2970 posts

on Mar. 27 2006


Fernand:

... désolé, j'avais lu la doc et cela marche effectivement bien, au moins pour Alfresco et Joi mais pour Skeleton, les scripts conservent /skeleton/ comme référence d'emplacement. Ils ne prennent pas le nouveau nom de skin dans les chemins internes.

Pour les autres skins, j'utilise pourtant la même notation _NomSkin_Alfresco et _NomSkin_Joi et je n'ai pas ce problème. Les scripts font bien référence à 'skins/_NomSkin/images' et autres.

Va comprendre ... Je vais approfondir ...
Fernand
avatar
from Paris
1313 posts

inspired from GnapZ on Mar. 27 2006


GnapZ : Autant pour moi ! Généralement je fais des essais. Là, ça n'a pas été le cas.
A bientôt.
GnapZ
from Caribbean
2970 posts

on Mar. 27 2006


Fernand: No problem. Etant un maniac organisationnel, n'oubliez pas de jetter un oeil sur ce 'skin_skeleton.php' situé dans /skins/
Bernard
avatar
from nearby-an-airport
Associate, 7054 posts

inspired from GnapZ on Mar. 27 2006


GnapZ: Ne pas toucher à celui-çi, malheureux... skins/skin_skeleton.php n'est pas un skin, mais c'est la librairie générale, qui est ensuite spécialisée dans skins/skin_quelconque/skin.php.

L'idée, c'est que l'on peut toujours changer le comportement par défaut de YACS en réécrivant n'importe quelle fonction de skin_skeleton.php dans skin.php.

D'un autre côté, en ne faisant pas grand-chose dans skin.php, on bénéficie quand même de la puissance de YACS exprimée dans skin_skeleton.php.
GnapZ
from Caribbean
2970 posts

on Mar. 28 2006


Bernard: HO LA :o ! Pas de panique je n'y ai pas touché ... je trouvais juste bizarre ce fichier avec un nom identique à un skin placé dans /skins/ ; bien compris maintenant mais c'est vrai qu'il a un nom qui porte à confusion, un skin_functions.php aurait peut-être ... bon d'accord.

Et alors pour le "vrai" skeleton, celui en skin qui fait tout changer les formes et les couleurs et tout et tout ? Je me suis aussi planté ou vous avez le même effet avec une "dérive" sans rien modifier (je parle du nom du chemin /skin/skelton/ non modifié en /skin/Dérive/ dans les scrips) ?
Bernard
avatar
from nearby-an-airport
Associate, 7054 posts

inspired from GnapZ on Mar. 28 2006


GnapZ: ben moi je viens de faire l'essai avec skeleton, et ça marche très bien sur ma machine de développement

Le transcodage est correct. Il reste des usage du mot skeleton dans manifest.php etc, mais il ne s'agit que du texte descriptif. Le chemin d'accès est modifié comme il se doit, ainsi que les chemins d'accès aux images.

Attention, le fichier .css ne prend pas le nom de la nouvelle feuille de style, et continue de s'appeler skeleton.css; Mais son contenu est correct, puisque l'appel des images s'effectue de manière relative à ce fichier (pas de chemin absolu).

Difficile d'aller plus loin si je n'arrive pas à reproduire le bug... La version 6.3, sur laquelle je travaille, a connu tellement de corrections...
GnapZ
from Caribbean
2970 posts

inspired from Bernard on Mar. 28 2006


Bernard: Bon, ben c'est un caprice de mon YACS alors (ou du PHP de l'hébergeur).

On va attendre gentillement la version 6.3 !

La modif que j'ai faite à la main (remplacement des chemins) fonctionne très bien donc je vais faire avec (j'ai bien fait attention de mettre les scripts à jour avant).

Merci encore et bonne nuit (il est tard en France).
Cloubech
avatar
from Chonas l'Amballan
Associate, 1066 posts

on May 6 2006


Bonsoir, un petit retour sur yacs après une trêve. Me voilà lancé dans les skins et voilà mon besoin :
Je voudrais afficher la liste des sections sous forme de liste (
" et "
) et non pas en ligne avec des séparateurs ( · )
Je suis donc intervenu dans skin_skeleton.php et j'ai changé le define('PAGE_MENU_SEPARATOR', ' · ' )
Enfin j'ai modifié la fonction build_list toujours dans skin_skeleton
Eh bien ca marche mais voilà j'ai modifié skin_skeleton.php et apparement c'est pas bien non ?
Puis-je faire autrement ?
D'autres part je voudrais mettre un identifiant sur chacune des entrées de ma liste de façon à pouvoir les associer dans ma feuille de style plus tard. Je pense donc qu'après mes congés j'irai modifier la partie
" case 'menu': "
de cette même fonction. Sera-ce la bonne méthode ?
Bernard
avatar
from nearby-an-airport
Associate, 7054 posts

inspired from cloubech on May 6 2006


Cloubech: La démarche est très saine, il faut juste prévoir quelques ajustements pour bien intégrer le tout aux évolutions futures de YACS. La difficulté est que skin_skeleton.php fait partie du coeur de référence de YACS, et qu'il sera vraisemblablement mis à jour à l'occasion des prochaines version.

Comment faire pour éviter que ces changements rentrent en cnflit avec les vôtres ? Tout simplement en copiant vos modifications dans le fichier skin.php du style particulier à votre serveur. C'est valable pour la fonction build_list() comme pour les autres.

Un autre conseil, c'est de commencer par évaluer si le changement d'un define() dans votre skin.php ne suffirait pas. Pour les choses simples, c'est souvent la bonne solution. Pour les choses compliquées, la réécriture s'impose.
Cloubech
avatar
from Chonas l'Amballan
Associate, 1066 posts

inspired from Bernard on May 7 2006


Très bien. La nuit portant conseil pour l'instant je ne préfère pas toucher à la construction des menus. Je n'ai besoin que de celui du template_home.php pour l'instant.
J'ai donc ajouter le code suivant avec référence avec une section :
"

echo '.div id="menu_section">'."\n";
echo ' .UL.';
echo ' . LI > href="[sectio=ma_section]">Tunisie ';
echo ' ./LI.';
echo ' .LI. href="[sectio=ma_sction2]">France ';
echo ' ./LI.';
echo ' .UL.';
echo './div.'."\n";
"


Evidemment la syntaxe est mauvaise. La question : Comment mettre un lien vers une section définie dans template_home ?

Merci et a dans une semaine ...

Christian

 
Share
Information channels
Recent files