Я строю в Expression Engine 2.3 систему профилей пользователей, используя модули Solspace User и Friends.Они работают нормально, но мне невероятно трудно передавать встроенные переменные.
У меня есть шаблон .profile_head
, который вызывается из каждого шаблона.Страница профиля, страница друзей, страница личных сообщений и т. Д. Она строит навигацию пользователя, отображает аватар, все обычные пользовательские вещи.Все это основано на идентификаторе пользователя, переданном через {segment_3}
.Это позволяет мне отображать информацию о другом пользователе, меняя этот сегмент.
Проблема заключается в том, что мои URL слишком точные.У меня не может быть пользователей, которые переходят в / users, они должны переходить в / users / profile / UID, или лучший из возможных сценариев - это страница с ошибкой или перенаправление на домашнюю страницу.через переменные в моем шаблоне:
{embed="/users/.profile_head" uid="{segment_3}"}
or......
{embed="/users/.profile_head" uid="{logged_in_member_id}"}
В файле шаблона .profile_head
я могу распечатать {embed:uid}
просто отлично, но когда я пытаюсь присвоить его чему-либо (то есть циклу или другому шаблону), это ломается:
<!-- /users/.profile_head -->
{exp:friends:members member_id="{embed:uid}" dynamic="off" limit="1"}
or.....
{embed="users/.profile_column" uid="{embed:uid}"}
Например, если {embed:uid}
установлено как {logged_in_member_id}
, я получаю следующую ошибку:
Parse error: syntax error, unexpected T_LNUMBER in /var/www/system/expressionengine/libraries/Functions.php(656) : eval()'d code on line 9
Это строка 9:
{if logged_in_member_id == "{embed:uid}"} <span class="this_is_you">This is you!</span>{/if}
Я действительно в своем уме.Мне нужно иметь возможность использовать этот заголовок профиля в шаблонах, не требуя идентификатора пользователя в URL для таких вещей, как сообщения пользователя и страницы настроек.Но ничто из того, что я пытаюсь сделать, кажется, не работает ни в малейшей степени.