#1 2008-06-10 13:15:09
- Yogi
- Member
- Registered: 2008-05-06
- Posts: 18
Plugin et collections persos
Bonjour!
et bien la question est déjà un peu dans le titre: est-il possible de faire un plugin pour un modèle de collection perso?
Je n'y connais pas grand chose, mais je voudrais essayer. Et il m'a semblé que l'utilisation des noms de champs persos serait peut-être problématique (gcfield1, gcfield2,...)
Merci d'éclairer ma lanterne et de m'aider à sortir de la caverne!
Offline
#2 2008-06-16 09:29:50
Re: Plugin et collections persos
Bonjour,
Les noms des champs ne vont pas poser soucis. Mais je dois avouer n'avoir jamais essayé, donc il y a peut-être quelques endroits où ça va coincer
Le plus simple est alors de "transformer" la collection perso en une collection par défaut. Pour cela, il faut tout d'abord qu'elle ait un nom afin qu'un fichier .gcm soit créé (plus de détails : http://wiki.gcstar.org/en/user_models#saving_the_model )
Ensuite ce fichier doit être copié là où sont les modèles par défaut, à savoir lib/gcstar/GCModels (par rapport au répertoire d'installation).
Offline
#3 2008-06-17 11:26:26
- Yogi
- Member
- Registered: 2008-05-06
- Posts: 18
Re: Plugin et collections persos
Bonjour!
en "transformant" ma collection, je change le nom des champs? ou bien c'est juste l'emplacement qui rend possible l'utilisation d'un plugin?
Je demande ça, parce qu'en fait j'avais déjà essayé de transformer ma collection, en lui donnant des noms de champs plus identifiables (comme pour une collection par défaut quoi). Ca marche bien.
En revanche impossible de créer un fichier lang qui me permette de traduire. Ben oui, j'ai modifié la partie que vous dites de ne pas toucher ! Mais il faut bien, puisqu'ils ne correspondent à rien dans les collections existantes.
Enfin, merci!
Offline
#4 2008-06-18 05:32:33
Re: Plugin et collections persos
Yogi wrote:
en "transformant" ma collection, je change le nom des champs? ou bien c'est juste l'emplacement qui rend possible l'utilisation d'un plugin?
Je parlais de l'emplacement. Mais sans en être certain car malheureusement je n'ai pas encore eu le temps de tester tout ça. Alors peut-être qu'effectivement l'emplacement n'est pas important. Pour les noms des champs, il y a effectivement quelques endroits où la distinction est faite entre les champs qui ont un nom commençant par gcsfield et les autres.
En revanche impossible de créer un fichier lang qui me permette de traduire. Ben oui, j'ai modifié la partie que vous dites de ne pas toucher
Alors il faut tout d'abord ajouter une balise <lang> dans le fichier gcm (juste sous la balise <collection>). Elle contient le nom du package qui va définir les traductions. Ce nom doit correspondre à un fichier de même nom (avec l'extension .pm) dans le répertoire lib/gcstar/GCLang/XY/GCModels où XY est le code langue.
Par exemple pour les collections de films, on a dans GCfilms.gcm :
<lang>GCfilms</lang>
Et donc le fichier :
lib/gcstar/GCLang/FR/GCModels/GCfilms.pm
Ce fichier commence par :
package GCLang::FR::GCModels::GCfilms;
On retrouve à la fin le même nom que celui dans la balise lang, qui est aussi le nom du fichier .pm
A noter que ceci peut être différent du nom du fichier .gcm. Pour les collections par défaut, le nom est toujours identique pour s'y retrouver plus facilement.
Le plus simple est ensuite de s'inspirer d'un des fichiers existant pour voir leur structure. Le plus important est le tableau associatif %lang% qui indique la traduction pour chaque clé.
Ces clés sont d'ailleurs ce que l'on va trouver pour les valeurs de l'attribut label de chaque champ dans le fichier .gcm.
Un autre détail important, il faudra aussi enlever tous les attributs displayed pour les champs de la collection. Car s'ils sont présents, GCstar ne cherche pas de traduction. C'est ce qui permet de se passer de ces fichiers pour les collections personnelles.
J'espère que tout était à peu près clair...
Offline
#5 2008-06-18 08:43:26
- Yogi
- Member
- Registered: 2008-05-06
- Posts: 18
Re: Plugin et collections persos
Bonjour!
c'est très clair. Tellement en fait que c'est dans l'ensemble la démarche que j'avais suivi. Désolé de ne pas l'avoir précisé, cela vous aurait épargné un post assez long
Je vais reprendre la procédure pas à pas pour voir ce qui cloche, car le résultat que j'obtiens est le suivant:
j'accède à ma collection perso comme si c'était une collection par défaut.
MAIS j'ai construit celle ci avec des attributs label en anglais, pour faciliter une éventuelle traduction si cela intéressait d'autres gens.
Ensuite j'ai fait un fichier .pm pour traduire en FR (repris sur celui de GCfilms) dans le dossier approprié .../GClag/FR/GCmodels. La balise est présente dans le fichier .gcm.
Portant, mes champs de collections s'affichent en anglais...
Offline
Should you have a problem using GCstar, you can open a bug report or request some support on GCstar forums.