Помогите с fenom
        Не первый раз сталкиваюсь с тем что нужно сделать проверку условия и в зависимости от этого выполнить тот или иной сниппет и при этом при конструкции написанной ниже так не получится — какая то проблема с кавычками видимо.
Но сейчас столкнулся с проблемой (работаю с профилем то есть в шаблоне а не в tpl) что создав тип пользователя в чанке я могу его вывести с помощью [[+type]] но не могу вывести с помощью fenom. Конструкции типа
Ок. Сделал так:
    
    
                                                                                
            [[+type:is=`student`:then=``:else=``]]Поэтому понравилась работа в fenom.Но сейчас столкнулся с проблемой (работаю с профилем то есть в шаблоне а не в tpl) что создав тип пользователя в чанке я могу его вывести с помощью [[+type]] но не могу вывести с помощью fenom. Конструкции типа
{$_modx->getPlaceholder('type')} и {$_pls['type']} не помогают.Ок. Сделал так:
{var $type = "[[+type]]"}
{$type}Все ок — выводится. Нужно сделать условие к примеру{if $type in ['school','expert']}
                                yes
                            {else}
                                no
                            {/if}Не работает правильно. Выводит нет. Хотя сам тип равен 'school'. Помогите плиз.    Комментарии: 4
                Нихера не понял вопрос, ибо сумбурно, но: аналог [[+type]] на феном это {$type}, а не {$_pls['type']} или {$_modx->getPlaceholder('type')}. 
А это
                    {$_pls['type']} – так выводятся плейсхолдеры с точкой или тиреА это
{$_modx->getPlaceholder('type')} удобнее писать так {'type' | placeholder}Не работает правильно. Выводит нет. Хотя сам тип равен 'school'. Помогите плиз.а это потому что ошибка, не $type in, $type | in:
{if $type | in : ['school','expert']}
    yes
{else}
     no
{/if}            
                Не работает. Ни одна из позиций написанная выше. Дело в том что работа с переменной $type идет не в чанке а в самом шаблоне.            
                    
                Вот так если попробовать:
                    {if $_modx->resource.type | in : ['school','expert']}Будет работать?            
                Неа. Тут вопрос мне кажется не во втором шаге а в первом.
Если бы я написал конструкцию
Выше всего этого дела у меня написан сниппет который вызывает код для определения текущего типа пользователя. Не стал использовать isMember так как все время с чем то сверять на мой взгляд бред
Как плейсхолдер [[+type]] без проблем. Но как переменная в fenom только в виде
                    Если бы я написал конструкцию
{var $type = 'pupil'}
                            {if $type | in : ['pupil','expert']}
                                yes
                            {else}
                                no
                            {/if}То выведет yes. Все супер! НО!Выше всего этого дела у меня написан сниппет который вызывает код для определения текущего типа пользователя. Не стал использовать isMember так как все время с чем то сверять на мой взгляд бред
<?php
$types = [
    'pupil'         => 'Ученик',
    'teacher'       => 'Учитель',
    'parent'        => 'Родитель',
    'school'        => 'Школа',
    'expert'        => 'Эксперт',
    'manager'       => 'Менеджер',
    'Administrator' => 'Администратор'
];
if (isset($userId) && !empty($userId)){
    $user = $modx->getObject('modUser', $userId);
    $cur_type = $user->getUserGroupNames()[0];
} else {
    $cur_type = $modx->user->getUserGroupNames()[0];   
}
$modx->setPlaceholder('type',$cur_type);
return $types[$cur_type];И вот из этого сниппета обратно в шаблон (не чанк, не tpl, не сниппет) мне нужно обратно передать эту переменную чтобы с ней в нескольких местах работать проверяя какие либо вещи. И вот она работать не хочет. Как плейсхолдер [[+type]] без проблем. Но как переменная в fenom только в виде
{var $type = '[[+type]]'} Но в таком случае не получаются вышеизложенные вещи. Бред короче.            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.