Forums / Setup & design / Fetching users information
Guilherme Longo
Thursday 20 September 2007 2:49:59 am
Mates, I'm trying to create one block, where I can fetch some user specification for, if the user belong of EDITORS user group, for example, he will be able to see one checkbox in one page.
Ex:
<div class="block">
<b>{foreach $user_id as $user => $id}</b> <b>{if $id.user_id|eq(editors)}</b>
<label for="id3">{"Administrator interface"|i18n("design/ezwebin/user/login")}</label><div class="labelbreak"></div><input type="checkbox" size="10" name="AdminSiteaccessURI" id="id3" value="" tabindex="1" onclick="AdminSiteaccessCheckbox(this);" />
<b>{else}</b>
<input type="hidden" size="10" name="AdminSiteaccessURI" id="id3" value="" tabindex="1" onclick="AdminSiteaccessCheckbox(this);" />
<b>{/foreach}</b>
</div>
I tried find <b>$some thing</b> to get users informations but a did'nt find.
Someone could help me?Thank
Laurent BOURREL
Thursday 20 September 2007 3:03:25 am
Did you have a look on :http://ez.no/doc/ez_publish/technical_manual/3_9/reference/modules/user
You can get the roles, the policies, etc.
Thursday 20 September 2007 3:38:57 am
yes, I read it before and a used this way:
{def $users=fetch( 'user', 'current_user' )}
{foreach $users.group as $key => $group} {def $group=fetch( 'user', 'current_user' )} <b>{if $item.groups|eq(Webeditors)}</b>
<label for="id3">{"Administrator interface"|i18n("design/ezwebin/user/login")}</label><div class="labelbreak"></div><input type="checkbox" size="10" name="AdminSiteaccessURI" id="id3" value="" tabindex="1"
onclick="AdminSiteaccessCheckbox(this);" />
{else}
<input type="hidden" size="10" name="AdminSiteaccessURI" id="id3" value="" tabindex="1"
{/foreach}
But without successfull ;O(Maybe has some thing wrong in the bolder line above, but i did'nt find yet whats happen
Thursday 20 September 2007 4:48:07 am
Mates
I almost get to make by this way:
{def $user=fetch( 'user', 'current_user' )}
{foreach $user.groups as $key => $group} {def $group=fetch( 'content', 'object', hash( 'object_id', $user.groups[$key] ) )} {if $group.name|eq(Webeditors)} <li><a href={"/eng/site_admin"} title="Admin Interface">Admin Interface</a></li>
........
But, the problem is all users belong of 2 groups (Main Group: User) and your Children: Editors or whatever. I need change this role <b>{foreach $user.groups as $key => $group}</b>, using foreach will go to be impossible.
Thursday 20 September 2007 9:10:46 am
Friends, i did got to find one solution for my problem
by the end, i'm here:
{foreach $users.group<b>|ne</b>(Users) as $key => $group} {def $group=fetch( 'user', 'current_user' )} {if $item.groups<b>|eq</b>(Webeditors)}
<li>.........<li>
<li>...........<li>
{/if}{/foreach}
Using this way, all <li> desappear ;O( now finish my ideas....Could someone help me
Pascal Specht
Thursday 20 September 2007 9:13:48 am
Guilherme,
did you try using $variable|attribute(show) to see if the variable really contains what you expect?
-Pascal
Friday 21 September 2007 4:22:23 am
Thank you so much for your tip Pascal Specht and everyone that helped me.
My variable was empty, so my menu disappeared.Testing the variable I found one way to do my condition:
{def $user=fetch( 'user', 'current_user' )} {foreach $user.groups as $key => $group} {def $group=fetch( 'content', 'object', hash( 'object_id', $user.groups[$key] ) )} {if $group.name|ne(Users) } {if $group.name|eq(Webeditors) }
.................
.........................
{/if} {/if}{/foreach}
Thank again!