Goubs
Béta-testeur    Messages: 118 Inscrit(e) le: 2004/4/30 Statut: Déconnecté(e)
|
Posté le 2006/5/4 à 21:37 |
Bonjour,
j'ai un probleme que je n'arrive pas à résoudre. Je voudrais
pouvoir afficher différents layouts pour un meme module. Ce module
c'est Morepages, j'ai rajouté du code pour pouvoir choisir le
layout au niveau de chaque page. l'idée c'est de pouvoir afficher
certaines pages avec le layout A, d'autres avec le layout B,...
Pour arriver à mon but je dois maintenant pouvoir forcer le systeme
pour qu'il utilise le layout défini au niveau de la page et non pas
celui defini au niveau du module.
D'apres ce que j'ai vu dans le code, la gestion du layout utilisé
dépend d'une constante "IXPSYS_MODLAYOUT".
Le probleme c'est que cette constante est définie tres tot (dans
common.php) et je ne peux plus la modifier quand j'arrive dans les
fonctions du module.
Quelqu'un a t il une idée pour m'aider ? je bloque un peu !
Christian
PS Ce module Morepage est vraiment tres pratique et l'idée
c'est de construire l'ensemble du site autour. C'est pour cela que j'ai
besoin d'étendre un peu les fonctions du module. | | Mora Mora |
|
|
|
pgilbert
Mod Developer    Messages: 653 Inscrit(e) le: 2004/3/25 Statut: Déconnecté(e)
|
Posté le 2006/5/4 à 22:35 |
Salut Christian !
Je ne comprends pas... dans MorePages tu peux déjà
sélectionner un layout par page... | | Out of iXprim project... |
|
|
Goubs
Béta-testeur    Messages: 118 Inscrit(e) le: 2004/4/30 Statut: Déconnecté(e)
|
Posté le 2006/5/5 à 00:06 |
Salut Pierre,
Non dans Morepage tu peux sélectionner un Index de layout
(Centre, Gauche Centre, Gauche Centre Droit et Centre Droit) mais pas
un layout différent de celui défini au niveau de la
config du module.
Christian
[Edité le 04/05/2006 par Goubs] | | Mora Mora |
|
|
pgilbert
Mod Developer    Messages: 653 Inscrit(e) le: 2004/3/25 Statut: Déconnecté(e)
|
Posté le 2006/5/5 à 07:32 |
Ah OK ! Je comprends mieux comme ça 
Alors c'est plutôt au niveau de ixpmodule.class.php qu'il faut
cour-circuiter le choix du module : $tab['moduleThemeLayout'])
Le problème c'est que cette donnée est une config du module
stockée en base de données et reprise par la class module
d'ixprim. Je ne vois donc pas bien comment tu vas pouvoir faire pour
personaliser cette valeur à part en modifiant ladite class. | | Out of iXprim project... |
|
|
trollix
Core Developer    Messages: 2732 Inscrit(e) le: 2003/1/14 Statut: Déconnecté(e)
|
Posté le 2006/5/5 à 22:48 |
| Je suis preneur de toute idée et de tout code sur ce module qui est
très pratique. Effectivement un mix avec simple page (insertion de
pages html avec indexation du contenu dans un blob) pourrai le rendre
très attrayant, voire bankable... | HQCH - Hope Que ça Helpe
Celui qui vise à la perfection sera au-dessus de la
médiocrité, mais celui qui vise à la
médiocrité tombera plus bas encore. "Proverbe chinois" |
|
|
Goubs
Béta-testeur    Messages: 118 Inscrit(e) le: 2004/4/30 Statut: Déconnecté(e)
|
Posté le 2006/5/6 à 09:30 |
Bonjour Trollix,
ci dessous quelques réflexions sur l'adaptation que j'ai faite sur
le module Morepages.
-----------------------------------------------------
Avertissement : les adaptations réalisées sur ce
module sont réalisées suite aux besoins que je rencontre pour
la construction de mes sites et non pas en fonction d’une étude
exhaustive des besoins potentiels pour tous type de site.
Reflexion initiale :
Les sites que je réalise sont construits principalement sur un
ensemble de pages rédactionnelles organisées en arborescence.
Exemple :
Page Association
- page CA
- page historique
- page …
Page Manifestation
- page info
- page programme
o page lundi
o page mardi
- page pratique
Etc…
Le module Morepages réalisé par Pierre
correspondait assez bien à mon besoin à quelques
détails près. (Pour info ce module permet de construire
une arborescence de page d’un façon très simple puisqu’il
suffit de rattacher chaque page à sa mère. Pour la
définition de la page elle-même il est très proche du
module de News). Le site est donc construit autour de ce module auquel
je rajoute différents modules (forum, News, Download,…)
Voulant utiliser Morepages comme ossature du site, j’avais besoin d’un
menu qui s’articule autour de ce module. J’ai réalisé deux
blocs menu (horizontale et vertical) qui s’appuient sur l’arborescence des
pages. J’ai la possibilité de faire apparaître dans ce menu
les autres modules avant et après l’arborescence Morepages. Voir un
exemple sur le site Planete Couleurs
avec le menu vertical à gauche et un menu horizontal en haut.
Au niveau de la définition des pages j’ai rajouté les
éléments suivants :
- Un indicateur permet de dire si la page est visible ou pas dans le menu
(une page peut être nécessaire pour le site mais on ne veut
pas de menu qui pointe dessus Ex page de zoom pour un plan)
- Cet indicateur peut aussi limiter l’accès à la page aux
seuls membres.
- Le layout peut être défini au niveau de chaque page (devlp
en cours)
- Certaines pages peuvent être vides de contenu et renvoyer
automatiquement à une autre page (je rajoute seulement un code avec
l’id de la page à atteindre dans la zone de contenu). C’est
pratique quand on veut avoir un titre de rubrique dans le menu avec
seulement du contenu au niveau des sous rubriques.
Le block de menu vertical (appelé menu dynamique) permet de
traiter :
- Le niveau d’arborescence à afficher (la mise en forme de chaque
niveau est traité par un css)
- Le nombre de lignes module à afficher avant l’arborescence
Morepages
- Le nombre de lignes module à afficher après l’arborescence
Morepages
- A chaque ligne menu de module, le nom qui apparaît peut être
personnalisé
- La page ou doit commencer l’arboressence. Cette fonction permet d’avoir
différents blocs menu (fonction dupliquer tres pratique d’Ixprim)
qui affiche chacun une partie différente de l’arborescence.
La limitation actuelle concernant des différents paramètres
c’est que pour ne pas modifier la structure de gestions des blocs, ces
paramètres sont stockés dans le champ option qui est
limité à 255 caractères). Pour l’instant je n’ai pas
été pénalisé par ce point.
-------------------------------------------------
Je peux si tu le souhaites t'envoyer les sources
Christian
| | Mora Mora |
|
|
Goubs
Béta-testeur    Messages: 118 Inscrit(e) le: 2004/4/30 Statut: Déconnecté(e)
|
Posté le 2006/5/6 à 10:53 |
Concernant mon probleme avec les Layouts pouvant etre définis au
niveau de chaque page je suis obligé de modifier la class
ixpmodule.
j'ai rajouté :
une variable "layout_theme" qui mémorise le layout en cours
(initialisé à 'default')
Une fonction "getLayoutCourrant" pour lire le layout en cours
Une fonction "setLayoutCourrant" pour modifier le layout en
cours.
Ensuite j'ai remplacé la constante "IXPSYS_MODLAYOUT" par le
résultat de "getLayoutCourrant" dans les fichiers theme.php,
header.php et footer.php
Pour le moment je n'ai pas supprimer la constante "IXPSYS_MODLAYOUT" (qui
apparait aussi dans "debug_show.php", "admin.php" et
"index_visits.php").
Il me semble que l'utilisation d'une constante pour la gestion du Layout
n'est pas tres souple car une fois définie elle ne peux plus etre
modifiée.
Je ferais passer les sources à Trollix. (un gros paquet avec la
class en question, le module Morepages modifié et les modifs
concernant le filemanager)
Christian | | Mora Mora |
|
|
pgilbert
Mod Developer    Messages: 653 Inscrit(e) le: 2004/3/25 Statut: Déconnecté(e)
|
Posté le 2006/5/6 à 13:20 |
Je précise au passage que j'ai également fait évoluer
le module. Correction de bugs et ajout de quelques options.
Je ne l'ai pas encore mis au téléchargement car il me reste
quelques petites choses à peaufiner.
Pour ceux qui veulent un exemple concret de ce module, le site Cap'Com est
entièrement construit avec puisque le module a été
créé à la base pour lui. | | Out of iXprim project... |
|
|
Goubs
Béta-testeur    Messages: 118 Inscrit(e) le: 2004/4/30 Statut: Déconnecté(e)
|
Posté le 2006/5/6 à 13:43 |
Salut Pierre,
les évolutions que tu as pu faire sur le module m'interresse. Je
pourrais les intégrer sans probleme sur ce que j'ai déja fait
car touts mes modifications sont tracées
Christian | | Mora Mora |
|
|
cedsib
Béta-testeur    Messages: 582 Inscrit(e) le: 2004/6/1 Statut: Déconnecté(e)
|
Posté le 2006/5/8 à 17:54 |
le plus simple serait effectivement d'avoir un seul module, à la
condition sine qua non qu'il reste assez simple d'utilisation, tant
dans ses options d'administration, que dans son efficacité (si la
multitude d'options en fait une usine à gaz, ce serait dommage pour
un si joli module ) |
|
pgilbert
Mod Developer    Messages: 653 Inscrit(e) le: 2004/3/25 Statut: Déconnecté(e)
|
Posté le 2006/5/9 à 07:59 |
Goubs a
écrit:les évolutions que tu as pu faire sur
le module m'interresse. Je pourrais les intégrer sans probleme sur
ce que j'ai déja fait car touts mes modifications sont
tracées
À vrai dire, je ne sais pas si les futures évolutions de
MorePages seront diffusées à la communauté.
En effet, j'ai des idées qui, si je les mets en oeuvre, le rendront
encore plus "pro" et méritera donc peut-être une version
bankable comme disais Trollix plus haut...
Enfin, en attendant, vu que tu m'as fais pas mal de retours sur le module,
je te balance une version "en l'état" par mail. | | Out of iXprim project... |
|
|
pgilbert
Mod Developer    Messages: 653 Inscrit(e) le: 2004/3/25 Statut: Déconnecté(e)
|
Posté le 2006/5/9 à 08:02 |
cedsib a
écrit:le plus simple serait effectivement d'avoir un
seul module, à la condition sine qua non qu'il reste assez
simple d'utilisation, tant dans ses options d'administration, que dans son
efficacité (si la multitude d'options en fait une usine à
gaz, ce serait dommage pour un si joli module )
Personnellement je ne suis pas pour un mix des deux modules. Ils ont chacun
des fonctionalités différentes et peuvent donc avoir une
utilité différente. | | Out of iXprim project... |
|
|
cedsib
Béta-testeur    Messages: 582 Inscrit(e) le: 2004/6/1 Statut: Déconnecté(e)
|
Posté le 2006/5/9 à 08:45 |
oui, mais ce ne sera pas forcément très clair pour un
utilisateur lambda....
Surtout qu'ils ont a peu près le même but...
et si jamais un utilisateur a besoin de certaines fonctionalités
d'un module, et d'autres fonctionalités de l'autres, c'est quand
même pas top...
Pourquoi ne pas proposer une seule implémentation, permettant de
construire, comme vous le dites tous les deux, l'architecture
complète d'un site à partir de ce module, quitte à
insérer ensuite ce module dans le core... (j'entend les modules
officiels) |
|
Goubs
Béta-testeur    Messages: 118 Inscrit(e) le: 2004/4/30 Statut: Déconnecté(e)
|
Posté le 2006/5/9 à 13:45 |
Enfin, en attendant, vu que tu m'as fais pas mal de
retours sur le module, je te balance une version "en l'état" par
mail.
Merci Pierre pour le code.
J'ai fait les modifications dans mes sources (C'est finalement assez
rapide). Il n'y a pas beaucoup de différences entre ta version et
celle que j'ai modifiée. La plus importante concerne les deux blocs
supplémentaires que j'ai intégré pour avoir un menu
horizontal et un autre vertical.
Le reste représente des modifications relativement mineures
- possibilité de choisir le layout au niveau de la page
- ajout d'une indication concernant le status de la page dans les menus
(visble par tous, seulement par logger, par personne)
- ajout d'une fonction "print" pour la page
Christian
| | Mora Mora |
|
|
cedsib
Béta-testeur    Messages: 582 Inscrit(e) le: 2004/6/1 Statut: Déconnecté(e)
|
Posté le 2006/5/9 à 14:54 |
cool 
Tavnos, on a notre module de gestion d'articles 
Allez la secrétaire, au boulot ! On rédige les articles  |
|
Goubs
Béta-testeur    Messages: 118 Inscrit(e) le: 2004/4/30 Statut: Déconnecté(e)
|
Posté le 2006/5/13 à 08:43 |
Concernant mon probleme avec les Layouts pouvant etre
définis au niveau de chaque page je suis obligé de modifier
la class ixpmodule.
j'ai rajouté :
une variable "layout_theme" qui mémorise le layout en cours
(initialisé à 'default')
Une fonction "getLayoutCourrant" pour lire le layout en cours
Une fonction "setLayoutCourrant" pour modifier le layout en cours.
Ensuite j'ai remplacé la constante "IXPSYS_MODLAYOUT" par le
résultat de "getLayoutCourrant" dans les fichiers theme.php,
header.php et footer.php
Pour le moment je n'ai pas supprimer la constante "IXPSYS_MODLAYOUT" (qui
apparait aussi dans "debug_show.php", "admin.php" et
"index_visits.php").
Il me semble que l'utilisation d'une constante pour la gestion du Layout
n'est pas tres souple car une fois définie elle ne peux plus etre
modifiée.
J'en connait un peu plus sur le fonctionnement de cette class (ixpmodule)
et je me suis appercu que la variable "layout_theme" ne fonctionnait pas
correctement. En fait je l'ai remplacé par une variagle
$GLOBAL[layout_theme] et la tout roule impec
Christian | | Mora Mora |
|
|