PDA

Просмотр полной версии : Gallery2+TYPO3+fe_users


shkoda
27.03.2008, 19:41
Доброго времени суток, у меня есть одна серьезная проблема и никак не могу ее решить. У меня пользователь авторизируется на сайте и тогда может добавлять фото. Если авторизации нет, то такая возможность ему не дается. Я в шаблоне для gallery2 создала такой код
<div id="gsSidebar">
<p>
<a href="{g->url arg1="view=core.ItemAdmin" arg2="subView=core.ItemAdd" arg3="itemId=`$theme.item.id`"}"> {g->text text="Add a photo!"} </a>
</p>

<p>
<a href="{g->url arg1="view=comment.AddComment" arg2="itemId=`$theme.item.id`"}"> {g->text text="Add a comment!"} </a>
</p>

<p>
<a href="{g->url arg1="view=comment.ShowAllComments" arg2="itemId=`$theme.item.id`"}"> {g->text text="View all comments!"} </a>
</p>
</div>

Так вот как мне проверить в этой части кода, авторизирован ли пользователь в системе или нет. Доступ к этой информации находиться в глобальном массиве $GLOBALS[TSFE]-fe_user-user[username], но если так написать в шаблоне, то вообще все перестает работать((

Что же делать?

void
28.03.2008, 05:45
Проверить в php-коде, залогинен ли пользователь, можно с помощью

if ($GLOBALS['TSFE']->loginUser){ //do smth }

Однако это только из php-кода. Судя по всему, Gallery2 использует Smarty, а там то ли вообще нет вставки php-кода, то ли нужно сделать новую смарти-переменную...

shkoda
28.03.2008, 11:10
Спасибо, вчера после долгих мучений нашла выход, который меня спас в некотором смысле

<div id="gsSidebar">
{php}
if(isset($GLOBALS["TSFE"]->fe_user->user['uid'])) {
{/php}
<p>
<a href="{g->url arg1="view=core.ItemAdmin" arg2="subView=core.ItemAdd" arg3="itemId=`$theme.item.id`"}"> {g->text text="Add a photo!"} </a>
</p>
{php}
}else{
{/php}
<p>
<a href="?id=16"> {g->text text="Add a photo!"} </a>
</p>
{php}
}
{/php}
</div>

Такие вставки {php}{/php} позволяют вставить php-код и Smarty его не будет обрабатывать))

shkoda
28.03.2008, 16:38
И все-таки возвращаясь к теме взаимодействия gallery2 и typo3. Как организовать их синхронизацию? Так чтобы в gallery могла видеть пользователей typo3? Например, при добавлении комментария, если пользователь не прошел аутентификацию в gallery, он будет идентифицироваться как Guest. А нужно, чтобы зарегистрированные fe-пользователи typo3 могли полноценно использовать возможности gallery.
Кто может что-нибудь посоветовать?

void
28.03.2008, 18:10
Ну у вас вот это (http://typo3.org/extensions/repository/view/gallery2/0.0.36/) расширение установлено? Или оно не обеспечивает синхронизации пользователей?

shkoda
31.03.2008, 11:46
Да, установлено это расширение. Но оно позволяет просто добавить на сайт TYPO3 контент галереи. И она начинает работать как независимый модуль. Это расширение не синхронизирует таблицы. А только обеспечивает доступ к ресурсам галереи. (( Я уже не знаю, что и придумать.

shkoda
31.03.2008, 13:13
Скажите, а вы можете подсказать, как реализовать hook? Для sr_feuser_register.