¿Se puede crear carpetas privadas para diferentes usuarios?

La discusión del CMS Made Simple en español.

Moderator: hexdj

jarvaz
Forum Members
Forum Members
Posts: 18
Joined: Thu Nov 13, 2008 8:21 am

¿Se puede crear carpetas privadas para diferentes usuarios?

Post by jarvaz »

Bueno tengo un problema. He creado mi web para que accedan a ella usuarios a través de un LDAP a su espacio privado, pero necesito que los usuarios suban archivos, imágenes etc, a este espacio. ¿Es posible crear una carpeta con el nombre de USUARIO A y que sólo USUARIO A tenga acceso a ella?

Gracias.
silvio
Forum Members
Forum Members
Posts: 57
Joined: Fri Oct 31, 2008 2:50 pm

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by silvio »

Hola a tod@s!

Tengo la misma inquietud. Sería muy útil disponer de una forma para que un usuario determinado pueda manejar contenidos de un grupo de subpáginas determinado, y no del resto de la web, si alguien sabe algo al respecto también yo me alegraría!

Saludos!

Silvio
User avatar
Pablillo
Forum Members
Forum Members
Posts: 36
Joined: Sat May 23, 2009 10:09 am
Location: Spain

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by Pablillo »

Hola a ambos.

Creo que lo que queréis es que tengais una web con un menú con las opciones "A", "B", y "C" y con tres grupos de usuarios 1,2,3. Queréis que el usuario 1 vea la A, el 2 vea la B y el tres la C, pero que no vean las otras 2, ¿no es así?
Haz el bien y aléjate del mal
silvio
Forum Members
Forum Members
Posts: 57
Joined: Fri Oct 31, 2008 2:50 pm

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by silvio »

Exacto, Pablillo, se trata de que una vez que cada usuario trabaja en la página, sólo tenga acceso a su parte del menú principal.

Por ejemplo, si en la web a la que se modifican contenidos, debajo de la pestaña Home hay tres pestañas con nombres diferentes (ésas A, B y C que decías), cada grupo de usuarios pueda manejar los contenidos de su pestaña (el grupo 1 pueda manejar la pestaña A...) y no tenga acceso a la modificación de las pestañas de los otros grupos.

Si se te ocurre algo... ¡genial!

Y gracias!
Silvio
User avatar
Pablillo
Forum Members
Forum Members
Posts: 36
Joined: Sat May 23, 2009 10:09 am
Location: Spain

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by Pablillo »

No voy a entrar en especificaciones técnicas en tanto en cuanto no hagan falta, porque no soy bueno para ello.....

Lo primero, es crear los usuarios y los grupos: FrontEndUsers (FEU)

En el FEU primero tienes que crear las propiedades que quieres que tengan los usuarios (avatar, email, nombre, pregunta de contraseña perdida, etc....). Luego tendrás que crear a los usuarios en sí (creo que tendrás un grupo cerrado de usuarios). Después, crear los grupos y vincular los usuarios a los grupos, p.ej. Los usuarios 1 y 5 al grupo A, los 2, 6, 7 al B y el 3 al C. EL grupo A vería la página I, el B la II y el C la III

Una vez hecho esto, lo que yo haría es jugar con el menú. El tag {menu} se coloca en la plantilla / plantillas que estés usando. Pues bien, ese tag tiene una propiedad que es  excludeprefix y que EXCLUYE los menúes definidos mostrando el resto solamente. Pues bien, la secuencia lógica a seguir podría ser (sin código) la siguiente

Si hay usuario:
      Si es del grupo A no verían ni II ni III
      Si es del grupo B no verían ni I ni III
      Si es del grupo C no verían ni I ni II
      Si no es de ningún grupo no verían nada.

Si no te queda claro, dímelo y nos enfarragamos con el código.

Un saludo
Haz el bien y aléjate del mal
silvio
Forum Members
Forum Members
Posts: 57
Joined: Fri Oct 31, 2008 2:50 pm

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by silvio »

Gracias Pablillo!

Entiendo la idea, lo que no sé es si voy a poder meterme con el código. Lo tendría que resolver antes del fin de semana, así que investigaré un poco sobre cómo es el funcionamiento de {menu} y si veo que me atasco vuelvo a escribir.

En todo caso, repito: ¡gracias!

Silvio
silvio
Forum Members
Forum Members
Posts: 57
Joined: Fri Oct 31, 2008 2:50 pm

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by silvio »

Hola de nuevo!

Buscando info sobre la sintaxis, encontré esta página bastante detallada: http://forum.cmsmadesimple.org/index.ph ... 114.0.html

Pero después de varias pruebas no logro llegar a ver si funciona o no, porque la escritura del código afecta a la web; he probado inyectar el código en la plantilla del template y en la plantilla correspondiente del Gestor de Menú, y en ambos casos afecta a la web.... desaparece el formato del template en todas o en algunas de las páginas (las que corresponden a los grupos que determiné, con sus particulares restricciones)

Probando con dos grupos (Balvanera y Chacarita) y definiendo dos prefijos en el Alias de cada página respectiva (Chac_ y Bal_) el código que entré fue:



{if $ccuser->loggedin() && $ccuser->memberof('Balvanera')}
{menu template='cssmenu.tpl' excludeprefix='Chac_'}

{elseif $ccuser->loggedin() && $ccuser->memberof('Chacarita')}
{menu template='cssmenu.tpl' excludeprefix='Bal_'}

{else}
{menu template='cssmenu.tpl' excludeprefix='_'}
{/if}


Con resultado negativo. ¿era ahí donde había que colocarlo? Si no era así... ¿dónde?

Gracias!

Silvio
User avatar
Pablillo
Forum Members
Forum Members
Posts: 36
Joined: Sat May 23, 2009 10:09 am
Location: Spain

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by Pablillo »

Hola de nuevo, Silvio.

Veo la estructura más o menos bien (no domino demasiado el elseif metido así, siempre me dio quebraderos de cabeza).

El problema es que los grupos se llaman Balvanera y Chacarita.

Y lo que has puesto en el excludeprefix es Bal_ y Chac_.

Eso funcionaría en el caso de que se llamasen Bal_vanera y Chac_arita. ¿Me coges?

El excludeprefix debería ser Bal y Chac (o más bien Balvanera y Chacarita).
Haz el bien y aléjate del mal
silvio
Forum Members
Forum Members
Posts: 57
Joined: Fri Oct 31, 2008 2:50 pm

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by silvio »

Hola Pablillo!
Entiendo, pero vuelvo a preguntar: ¿en dónde inyecto el código?

Ya expliqué las pruebas que hice y los resultados: la presencia de ese código en la plantilla general y en la hoja de estilo correspondiente dan como resultado una modificación del aspecto de la web... entonces... ¿dónde?

Otra vez ¡gracias!

Silvio
User avatar
Pablillo
Forum Members
Forum Members
Posts: 36
Joined: Sat May 23, 2009 10:09 am
Location: Spain

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by Pablillo »

Hola Silvio.

Tenemos que manejar 2 conceptos de plantilla. Los llamaremos planMenu y planPágina:

- La planMenu es la plantilla asociada al menú, y la planPágina es la asociada a la página.

El tag {menu.......} tiene que ir en la/s planPágina donde quieras ponerlo.

el planMenú es una plantilla para dar estilo al menú (en el caso que pones cssmenu.tpl).

Mi pregunta es: ¿El tag {menu} original tenía la planMenu "cssmenu.tpl"? Si esto es negativo, deberías eliminar donde pone template='cssmenu.tpl' en todas las repeticiones del tag {menu} o cambiarlas por la planMenu original.

Por otro lado, si desaparece toda la forma de la web y se ve el contenido en un fondo blanco, entonces es un error de sintaxis y habría que ver que dice (abajo del todo - en inglés).

Mira a ver esto y me cuentas.

Un saludo
Haz el bien y aléjate del mal
silvio
Forum Members
Forum Members
Posts: 57
Joined: Fri Oct 31, 2008 2:50 pm

Avanzamos

Post by silvio »

Hola de nuevo, Pablillo!

Mira, a medida que me meto voy entendiendo más, pero todavía estoy lejos de saber bien qué estoy haciendo. De todas formas te agradezco la ayuda que me servirá para más cosas en las que vaya metiéndome con el código.

Por depronto ya vi lo del archivo, que se llama "minimal_menu.tpl", nombre que reemplacé en las tres ubicaciones.

Después localicé los dos párrafos vinculados a menu, que te copio a continuación, aunque es evidente que el que nos interesa es el primero:


{menu number_of_levels="1" template="minimal_menu.tpl"}


y


{menu start_level="2"}


El fragmento que inserté es:


{if $ccuser->loggedin() && $ccuser->memberof('Balvanera')}
{menu template='minimal_menu.tpl' excludeprefix='Chacarita'}

{elseif $ccuser->loggedin() && $ccuser->memberof('Chacarita')}
{menu template='minimal_menu.tpl' excludeprefix='Balvanera'}

{else}
{menu template='minimal_menu.tpl' excludeprefix='_'}
{/if}


Ya ves que cambié el .tpl, y los prefijos por los nombres que figuran en los Alias (cambiados expresamente, puesto que antes eran Cha_ y Bal_)

Pero entonces "no me suena" el excludeprefix='_'

Así que probé con él y sin él...

El fragmento de código lo inserté primero  a continuación de



No funcionó, así que lo inserté inmediatamente antes, y tampoco funcionó. En todos los casos me devolvía la página en blanco que tu describías, con el texto del nombre de la web seguido de la lista de nombres del menú principal, pero nada más, nada en inglés ni en castellano, simplemente la página en blanco.

Por fin hice la prueba de insertarlo antes de {menu number_of_levels="1" template="minimal_menu.tpl"}
y entonces empeoró: sólo salía, en la página en blanco, el nombre de la web, sin siquiera aparecer el menú principal...

Me pregunto... ¿no habrá que poner el fragmento fuera de o incluso antes de ?

En resumen:

1) dónde insertar el código dentro de la plantilla, antes de , , dónde?

2) excludeprefix='_' ¿no implica que cada una de las páginas con propietario tiene que tener un prefijo seguido de "_" ?

En fin, ota vez gracias por la ayuda y el esfuerzo que le estás poniendo!
Silvio
User avatar
Pablillo
Forum Members
Forum Members
Posts: 36
Joined: Sat May 23, 2009 10:09 am
Location: Spain

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by Pablillo »

Hola Silvio.

Me lo estás poniendo difícil..... Mira que no quiero meterme con código....

El lugar donde poner el bloque TEST MENU es sutituyendo el tag menu, es decir, quedaría de la siguiente manera (como creo que quieres:



{if $ccuser->loggedin() && $ccuser->memberof('Balvanera')}
{menu number_of_levels="1" template='minimal_menu.tpl' excludeprefix='Chacarita'}

{elseif $ccuser->loggedin() && $ccuser->memberof('Chacarita')}
{menu number_of_levels="1" template='minimal_menu.tpl' excludeprefix='Balvanera'}

{else}
{menu number_of_levels="1" template='minimal_menu.tpl' excludeprefix='Chacarita,Balvanera'}
{/if}



La cosa sería la siguiente: Tienes metido el menú entre dos etiquetas UL (Lista sin ordenar), porque los menús, al fin y al cabo son listas maquilladas con CSS (el 99%). El maquillaje sería 'minimal_menu.tpl'.
El primer if sería para el usuario introducido y miembro de Balvanera (excluiría a Chacarita)
El segundo if (elseif) sería para el usuario introducido y miembro de Chacarita (excluiría a Balvanera)
El tercer if (else) sería en caso de que ni esté introducido y no sea miembro de ningún grupo, entonces no vería ni chacarita ni Balvanera.

Como último el menu suele ir situado en BODY antes del menu lateral y antes del {body}. ¿Podrías pegar parte de la plantilla (algo más amplio que el menú), como por ejemplo desde hasta {content}?
Haz el bien y aléjate del mal
silvio
Forum Members
Forum Members
Posts: 57
Joined: Fri Oct 31, 2008 2:50 pm

La plantilla

Post by silvio »

Hola Pablillo!

Si, ya entiendo que es un agobio... te mando el trozo de código que me pides, pero porfa, si estás muy ocupado déjalo.




Memoria y Justicia en los barrios



{menu number_of_levels="1" template="minimal_menu.tpl"}











Agenda
{global_content name='Anuncios'}

{search}     

Páginas vinculadas

{menu start_level="2"}


{global_content name='footer'}






{title}
{content}

Ahí tienes el trozo que pedías, creo.

Te insisto, si te va mal, déjalo, de todas formas ya me has dado un buen empujón y voy entendiendo bastante más. Esto para mi es un hobby, hago páginas a los amigos, a alguna ONG, pero hasta ahora siempre había utilizado los templates tal cual, cambiaba muy poca cosa, lo más fácil. Esta vez me picó el gusanillo... y aunque estoy muy contento de eso que estoy aprendiendo, no quiero ser de ninguna manera un pesado de los que preguntan sin abrir una búsqueda.

Bueno, otra vez ¡gracias!
Silvio
jarvaz
Forum Members
Forum Members
Posts: 18
Joined: Thu Nov 13, 2008 8:21 am

Re: ¿Se puede crear carpetas privadas para diferentes usuarios?

Post by jarvaz »

Hola Gracias por vuestras intervenciones.

Lo que pretendía al abrir este post era saber, no si los usuarios pueden manejar los contenidos de sus páginas (cada unos los suyos). Necesito saber si el usuario A puede tener acceso exclusivamente a una carpeta que se llame CARPETA A, y el usuario B, que tenga acceso a una carpeta que se llame CARPETA B

Saludos de nuevo
User avatar
Pablillo
Forum Members
Forum Members
Posts: 36
Joined: Sat May 23, 2009 10:09 am
Location: Spain

Re: La plantilla

Post by Pablillo »

No te preocupes. No es un agobio. Lo único que el código me traiciona. No domino mucho el código. Me muevo (como habrás visto) a nivel de ideas...

¿Has probado la solución que te di del código?

Por cierto, qué plantilla de página usas? Me extrña que los menús estén definidos con en vez de con ....

Una de las webs que llevo con CMS tiene el menú definido así:

Code: Select all

 <div class="content">
		          <div class="nav" >
                              {if $ccuser->loggedin()}
                                          {menu template='miTemplate'}
                                          {else}
                                          {menu template='miTemplate' excludeprefix='perfil'}
                              {/if}
                               <div class="l"></div>
                               <div class="r"></div>
donde miTemplate es una plantilla que he definido en el gestor de plantillas

¿Podrías mandarme en un privado el enlace de la página cuando se ve en blanco y lo miro?

Gracias

PD: No te preocupes, no estoy agobiao. Sólo que el código se me da mal.
UN saludo
Last edited by Anonymous on Tue May 25, 2010 5:10 pm, edited 1 time in total.
Haz el bien y aléjate del mal
Post Reply

Return to “Spanish - Español”