Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu]Permissions de groupes spécifiques aux pages
#1

Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS : N/A
#~ Version du MLE si existante : non
#~ Informations Système :
#~ Il est où le menu "Administration du site" ? Et si jamais, ma version, c'est 1.7...
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonjour,

Avant de commencer à utiliser CMSMS, je dois savoir si je pourrai de manière relativement simple arriver à mes fins.

Si j'ai bien compris, les permissions de groupes permettent de spécifier quels genres d'actions sont offertes aux différents groupes.
Dans mon projet de site, les membres devront être à même de se créer une ou plusieurs pages et d'en modifier le contenu dans les limites du template imposé. Donc, en gros, je devrais pouvoir dire 'tel membre peut modifier telles pages, mais c'est tout' quelque part dans le script.

Typiquement, un membre devrait être en mesure de se créer une page de présentation (une page apparaissant dans le sous-menu de présentation des membres) et de créer des pages de projet, sans être en mesure de modifier les pages créées par l'administrateur et celles des autres membres.

Il me semble que ce n'est pas faisable seulement avec CMSMS. Il faudrait pouvoir ajouter cette fonctionnalité ou bidouiller le code rendu, je sais pas trop à ce stade...

Est-ce que vous avez une idée ? Si CMSMS ne vous semble pas recommandé, auriez-vous des suggestions ?

Je vous remercie !

Yvan
#2

Si tu créé toi même les utilisateurs en back-office alors tu peux tout a fait faire un paramétrage tel que 1 user puisse créer une page pour lui et ne pas pouvoir modifier celle des autres.
#3

re,

le mieux et de tester sur la démonstration Wink

J-C Etiemble v 2.2.xx
#4

Merci pour vos réponses. C'est encourageant ! Par contre, je n'arrive pas à me connecter à la démonstration. Le mot de passe ou le nom d'utilisateur est refusé.
#5

re,

>Le mot de passe ou le nom d'utilisateur est refusé
Il y a un c... de bricoleur qui a changé le mot de passe, attendre la restauration d'ici une heure

J-C Etiemble v 2.2.xx
#6

décidement... 3 fois en quelques jours ... il y a vraiment des connards qui n'ont que ca a faire pour pouvoir encore jouir... -_-'

je reset le compte demo / demo
#7

C'est gentil !

Bon, j'ai installé CMSMS en local sous windows, mais quand je me connecte à la partie admin, rien ne s'affiche à part le menu. C'est hyper lent... J'imagine qu'il ne trouve pas le contenu des pages, mais je comprends pas pourquoi. Une idée ?

Autrement, je me demandais: est-ce que je ferai mieux de commencer directement sur un hébergeur et pas en local ? En local, je peux pas envoyer de mail (je crois que c'est à cause du proxy qui est en place au taf) et j'imagine que c'est mieux pour voir les possibles problèmes d'incompatibilité... Vous en pensez quoi ?

Merci !
#8

si l'admin est lent c'est par ce que ton entreprise bloque les connexions sortantes

regarde sur le forum, on t'indique comment désacter les connexions sortantes directement dans la partie admin du cmsms.

étant donné que ton taff bloque bcp de truc, je pencherais pour commencer en local (gabarit + css) avant de mettre direct en ligne dans un répertoire de test.
#9

Je m'excuse, bess, mais j'ai beau chercher sur le forum, je trouve rien qui m'aide. Pour le problème le plus similaire, (http://www.cmsmadesimple.fr/forum/viewtopic.php?id=2160) on propose d'augmenter la mémoire dans le php.ini, mais j'ai même pas réussi à comprendre de quel paramètre il s'agit.
Bref, je suis toujours perdu ! Sad
#10

Administration du site » Paramètres globaux » Paramètres avancé

mettre none dans

"Vérifier les nouvelles versions CMS à l'aide de cette URL :"
#11

Très bien, je te remercie !

Je l'ai installé sur mon hébergeur et ça fonctionne, mais je vais suivre ton conseil et faire pareil en local. Sauf que, avant, j'aimerais savoir 2-3 choses...

- Tu m'as dit que si je créais un user en back-office, je pouvais lui donner les droits d'édition seulement sur les pages qu'il a créées. Mais perso, en créant un groupe spécifique à chaque membre, je vois que je peux le laisser créer des pages, mais pas lui permettre de modifier seulement celles-là... Je ne vois pas d'option 'Modify self created pages' ou qqchose d'autre du même genre.

- Pour les pages des membres, comme ils représenteront tous des communes suisses, j'aimerais bien passer par une carte de la Suisse. Par exemple, si on clique sur le canton de vaud, au-dessous de la carte apparaît la liste des communes membres qui s'y trouvent.

Je sais que pour un noob comme moi, ça va être galère, mais je vais persévérer. Par contre, avec ma compréhension actuelle du CMSMS, je vois pas du tout où mettre ce genre de code. J'espère pas que vous fassiez le travail à ma place, mais j'aimerais juste savoir si je peux atteindre mes objectifs avec CMSMS et où je peux trouver les explications qui me le permettront.

Je vous remercie !
#12

A tester, mais de mémoire si tu laisse juste l'option : "autoriser la création de page" il pourra créer des pages et les modifier/supprimer mais pas celles des autres.

Pour ton second problème tu vas en chier. il te faut passer par un logiciel tiers (dreamweaver... arg...) pour que a partir d'une image (carte de la suisse), il te génère une imagemap dont chaque morceau redirige vers une URL spécifique, par exemple www.site.fr/index.php?clic=NordOuest

je ne vois pas comment faire autrement, ni comment rendre plus dynamique le système
#13

Merci ! Faudra que je vérifie.
J'allais éditer mon texte parce que j'ai découvert l'option 'propriétaire' et je n'ai rien vu de très parlant dans la doc à son sujet. Je crois que je pourrai simplement dire aux éditeurs de se mettre comme propriétaire des pages qu'ils créent pour qu'ils soient en mesure de les modifier par la suite. Sinon, ça servirait à quoi ?
Pour la carte, faudra que je regarde à gauche à droite, ce sera pour plus tard. Mais merci pour l'indice.

Sinon, pour mon histoire de lien vers les pages des communes, imaginons qu'une page Vaud existe et que toutes les communes vaudoises aient créé leurs pages comme des filles de la page Vaud. Est-il possible de dire dans la page Vaud, 'mets une liste de liens vers toutes les pages filles' ? C'est là que s'arrête ma compréhension du CMSMS : je sais pas où bidouiller !

PS: ton lien fonctionne pas, il me semble. Je pensais à quelque-chose du genre, pour la carte :
http://www.radix.ch/index.cfm/217E7D76-A...3E83825DF/
#14

Ok... je viens de faire quelques essais :

- On peut effectivement ne laisser aux éditeurs que la création de pages et ils sont en mesure de les modifier (ils en sont par défaut les propriétaires).
- Par contre, ils ne peuvent pas choisir des pages parents qu'ils n'ont pas eux-mêmes créées.

Y a-t-il un moyen de laisser A choisir une pageB (créée par B) comme parent de sa propre pageA, sans qu'il puisse éditer cette pageB ?

- J'ai remarqué qu'une fois qu'on a choisi un autre éditeur dans les options d'une page, il est impossible de faire marche arrière et de laisser les droits d'édition à personne d'autre. Il manque un champ "aucun".
#15

mon second lien était un exemple d'url généré, c'est pas un site a visiter :p

avant de toucher à l'option propriétaire des pages, suit ma manip, tu t'apercevra que s'ils créés une page, ils deviendront automatiquement proprio de cette page !

Citation :Sinon, pour mon histoire de lien vers les pages des communes, imaginons qu'une page Vaud existe et que toutes les communes vaudoises aient créé leurs pages comme des filles de la page Vaud. Est-il possible de dire dans la page Vaud, 'mets une liste de liens vers toutes les pages filles' ?
si tu as un menu hierarchisé ainsi

menu1
menu2
>sousmenu : Vaud
>>soussousmenu : ville1
>>soussousmenu : ville2
>>soussousmenu : ville3
>sousmenu : autre région
>>soussousmenu : ville4
>>soussousmenu : ville5
>>soussousmenu : ville6
menu3

il te suffit de consulter l'aide de menumanager pour comprendre que des options permettent d'appeler le contenu du menu de niveau 3 pour la page courante (sousmenu : Vaud)

soit en résultat :

>>soussousmenu : ville1
>>soussousmenu : ville2
>>soussousmenu : ville3

mais là c'est la doc qui va te le dire, sinon elle sert à rien.

PS : avant que tu pose la question : l'aide du tag {menumanager} se trouve dans l'administration, menu module, en cliquant sur menumanager
#16

Merci ! Tu es vraiment réactif et c'est super agréable ! Je sais que je peux être assez pénible ; je ferai gaffe, maintenant que je sais où pêcher les infos.

Sinon, je crois que t'avais pas vu mon dernier message...
#17

je t'en prie, t'en qu'on peut aider Smile

Citation :Y a-t-il un moyen de laisser A choisir une pageB (créée par B) comme parent de sa propre pageA, sans qu'il puisse éditer cette pageB ?
Il me semblait pourtant qu'un utilisateur ayant le role ajout de page pouvait ajouter ou il le souhaitais... je me trompe peut être... dans ce cas je n'ai aucune idée...

Citation :- J'ai remarqué qu'une fois qu'on a choisi un autre éditeur dans les options d'une page, il est impossible de faire marche arrière et de laisser les droits d'édition à personne d'autre. Il manque un champ "aucun".
je me suis déjà fait la réflexion sans pousser plus loin. Est ce qu'en utilisant la touche Crtl tu peux pas désactiver les lignes sélectionnée tout simplement ?
#18

On peut effectivement utiliser la touche ctrl pour ajouter plus d'autres éditeurs ou en enlever.

Bon, par rapport à ma question sur menumanager, je patauge dans la semoule. J'ai passé l'après-midi à essayer de comprendre d'autres codes. Il doit me manquer des points de repères.

J'ai regardé la doc dans tous les sens (d'ailleurs, il manquerait pas $node->current ?) et voilà où j'en suis :

il faut récupérer l'alias de la page pour chercher depuis celle-ci. Un mec a posté ça sur le wiki. pour moi, c'est un peu du chinois (je trouve où la doc à ce sujet ?):

global $gCms;
$gCms->smarty->assign('page_alias', $gCms->variables['page_name']);

Il met ça dans un user defined tag appelé page_alias.

Ensuite, j'imagine que je peux faire qqchose du genre :

{if $count > 0} <ul>
{foreach from=$nodelist item=node}
{if node->depth == la profondeur de ma start page +1}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>{$node->menutext}</a></li>
{/if}
{/foreach} </ul>
{/if}

Et si j'ai bien compris, faut enregistrer ce code dans un gabarit et l'appeler par exemple : liste_enfants_directs.

Et dans le contenu de la page, j'appelle :

{page_alias}
{cms_module module='menumanager' start_page="$page_alias" template="liste_enfants_directs"}

Bon, je comprends pas la moitié de ce que j'ai écrit. J'imagine qu'il est possible de récupérer la depth de la page de départ, mais je sais pas comment ni où chercher la réponse.

Est-ce que quelqu'un peu m'aiguiller ? Merci beaucoup !
#19

d'après ce que j'en ai compris c'est effectivement une solution, je m'attendais plutôt à autre chose de plus simple...

prenons pour exemple la hiérarchie sus-nommée

menu1
menu2
>sousmenu : Vaud
>>soussousmenu : ville1
>>soussousmenu : ville2
>>soussousmenu : ville3
>sousmenu : autre région
>>soussousmenu : ville4
>>soussousmenu : ville5
>>soussousmenu : ville6
menu3

ce qui nous intéresse ici c'est que les enfants direct de menu2 puissent lister leur propre enfant et ce sur un seul niveau de profondeur supplémentaire.

le module MenuManager est clair sur ce sujet, tu t'es visiblement arrêté dans l'aide à la structure du module (ce qui était destiné aux développeurs) et non aux paramètres qu'il accepte (ce qui t'étais plutôt destiné)

ce que j'en lis

Citation :Comment l'utiliser ?

Insérez simplement la balise dans votre gabarit/page: {menu}. Les paramètres possibles sont listés plus bas.
ainsi que

Citation :Paramètres

* (optional) lang="en_US" - Paramètre utilisé pour spécifier dans quelle langue afficher le module dans la partie publique. Ce paramètre n'est pas supporté ou utile pour tous les modules.
* (optional) collapse="1" - À activer (définir en 1) pour que le menu cache les objets non relatifs à la page sélectionnée.
* (optional) loadprops="0" - Utiliser ce paramètre si des propriétés avancées sont utilisées dans votre gabarit de gestionnaire de menu. Ce paramètre va forcer le chargement des toutes les propriétés des contenus de tous les nœuds (tel que extra1, image, thumbnail, etc). Ceci va augmenter très fortement le nombre de requêtes pour construire un menu ainsi que la consommation en mémoire, mais permet de gérer des menus plus avancés
* (optional) items="contact,home" - Utilisez ceci pour sélectionner la liste de pages à afficher dans le menu. La valeur entrée doit être la liste des alias, séparée par des virgules.
* (optional) number_of_levels="1" - Ce paramètre permet au menu d'afficher uniquement un certain nombre de niveaux.
* (optional) show_all="0" - Cette option affichera tous les niveaux s'ils sont cochés visibles dans le menu. Il n'affichera pas les pages inactives.
* (optional) show_root_siblings="1" - Cette option est utile lorsque start_element ou start_page est utilisé. Les autres éléments du même niveau que l'élément sélectionné seront affichés.
* (optional) start_level="2" - Cette option permet d'afficher uniquement les éléments à partir d'un niveau donné. Un exemple: vous avez un menu avec number_of_levels='1'. Puis, comme second menu, vous avez start_level='2'. Le second menu affichera les éléments basés sur ce qui est sélectionné dans le premier menu.
* (optional) start_element="1.2" - Cette option permet d'afficher uniquement les éléments à partir d'un élément donné (start_element), ainsi que les niveaux en-dessous de cet élément. la valeur doit être égale à la position hiérarchique de l'élément (exemple : 5.1.2).
* (optional) start_page="home" - Cette option permet d'afficher uniquement les éléments à partir d'une page donnée (start_page), ainsi que les niveaux en-dessous de cet élément. la valeur doit être égale à l'alias de l'élément.
* (optional) template="simple_navigation.tpl" - Le gabarit à utiliser pour l'affichage du menu. Le gabarit est issu de la base de données sauf si son nom fini par .tpl, auquel cas il vient du fichier du même nom se trouvant dans le dossier des gabarits (templates) du module MenuManager (Par défault simple_navigation.tpl)
* (optional) excludeprefix="" - Exclut toutes les données des pages (et de leurs enfants) dont l'alias contient le préfixe indiqué (virgule comme séparateur). Ce paramètre ne peut pas être combiné avec le paramètre includeprefix.
* (optional) includeprefix="" - Inclut seulement les données des pages dont l'alias contient le préfixe indiqué (virgule comme séparateur). Ce paramètre ne peut pas être combiné avec le paramètre excludeprefix.
en écrivant ce message et sans avoir tester je dirais que le code

Code :
{menu start_level="2" number_of_levels="1"}
devrait me donner un truc sympa.Il s'avère après un test que ce code irra mieux Smile

Code :
{menu template='minimal_menu.tpl' start_level="3" number_of_levels="1"}
Pour tester j'ai créé sur la démo une page dédié ou j'ai ni plus ni moins collé ce code dans le contenu de la page.



J'aurais également pu créer un gabarit doublon de mon gabarit utilisé dans tout le site (un clone) et dans lequel j'aurais collé ce code avant d'affecter ma page a ce-dit gabarit , comme ca je suis certain qu'il n'y a quelle qui l'utilisera.

L'avantage de mettre dans le gabarit, c'est que la case contenu de la page n'est pas polluée par du code.

L'avantage de le mettre dans le contenu de chaque pages filles du menu2 c'est que tu maitrise totalement quelles filles doivent l'avoir, + pratique que de devoir dupliquer un gabarit + affecter telle et telle page...

bref voilà ce que ca donne :
- la page de second niveau listant ses filles
- une autre page de second niveau listant ses filles

Note que la page de 4ème niveau nommée toto n'apparait pas dans le listing
#20

D'accord ! C'est vrai que c'est plus simple.

J'ai dû ajouter un show_all="1" et ça marche comme je voulais.

Merci pour tous ces détails !
#21

si c'est tout bon : ajoute [résolu] dans le titre de ton premier message Wink
#22

En fait, j'ai d'autres questions qui arrivent au fur et à mesure de mes essais et je fais un peu ça à plein temps...
Si tu préfères que je crée un sujet par question, je le ferai, mais comme elles ont un caractère évolutif, je sais pas si ce sera mieux. D'autant que ça risque de polluer le forum de plein de petits sujets.

Là, j'ai téléchargé le module FrontEnd User et CustomContent et il y a trois choses que j'aimerais savoir :

- Peut-on dire que les utilisateurs du site seront (en tout cas) les mêmes que les utilisateurs du CMS ? A priori, je crois pas, mais ce serait drôlement pratique !
- Comment peut-on faire pour réserver complètement l'accès à certaines pages (qu'elles n'apparaissent pas dans le menu des visiteurs réguliers) ?
- Je pensais avant utiliser phpBB pour faire un forum pour les membres, mais a priori, un la module forum de cms suffirait. Qu'est-ce que vous pensez de ce module ?
#23

Citation :- Peut-on dire que les utilisateurs du site seront (en tout cas) les mêmes que les utilisateurs du CMS ? A priori, je crois pas, mais ce serait drôlement pratique !
il me semble pas qu'un utilisateur inscrit en front-office puisse obtenir via son compte les droits d'accès au back-office. Mais je n'ai pas assez exploré le sujet pour être affirmatif. D'autre le seront ouvre un nouveau sujet à ce propos en expliquant par exemple les fonctionnalités du back-office que tu souhaites laisser à l'utilisateur

Citation :- Comment peut-on faire pour réserver complètement l'accès à certaines pages (qu'elles n'apparaissent pas dans le menu des visiteurs réguliers) ?
déjà répondu ailleurs sur le forum Wink

Citation :- Je pensais avant utiliser phpBB pour faire un forum pour les membres, mais a priori, un la module forum de cms suffirait. Qu'est-ce que vous pensez de ce module ?
j'ai testé, j'ai pas du tout aimer. pour moi csms doit se cantonner à son rôle ou il excelle : le cms. c'est pas un moteur de blog, c'est pas un moteur de wiki et c'est pas un moteur de forum. Des projets open sources font ca très bien, laissons leur ce mérite. Tu peux coder un système de pont entre cmsms et phpbb afin d'inscrire automatiquement les utilisateurs de cms vers le forum (via un script sql par exemple dans un UDT (balise utilisateur)

mais pour cela il te faut une sacrée connaissance en php et je pourrais pas t'aider
#24

bess a écrit :il me semble pas qu'un utilisateur inscrit en front-office puisse obtenir via son compte les droits d'accès au back-office. Mais je n'ai pas assez exploré le sujet pour être affirmatif. D'autre le seront ouvre un nouveau sujet à ce propos en expliquant par exemple les fonctionnalités du back-office que tu souhaites laisser à l'utilisateur
Non, c'est l'inverse qui m'intéresse. J'ai envie que les éditeurs du site qui ont déjà un mot de passe et un username pour le CMS puisse simplement réutiliser ces données pour se connecter à la partie membre du site. Je peux le faire manuellement, puisque je vais devoir le faire pour le CMS de toute façon, mais j'ai pensé qu'il y avait peut-être une commande qui m'épargnerait cette tâche.

Pour l'histoire du forum, il faudra que je teste. J'aimais bien l'idée que tout soit sur le CMS, pour plus d'homogénéité, surtout que j'aurai déjà une partie membre sur le site et pas de gros besoin au niveau du forum.
#25

l'inverse est possible il me semble par contre !
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)