Ошибка при вызове сниппета
        Добрый день. Подскажите в чем проблема. Создал сниппет Clubinstagram*_id который должен возвращать из передаваемой ему переменной подстроку (например instagram*.com/12345/ должен вернуть 12345)
Код сниппета:
            Код сниппета:
<?php
$keyins = $keyins ? $keyins : '0';
$substins = '';
$slashstr = '';
$output = '';
if($keyins) {
	$substins = substr ([$keyins], 22, strlen([$keyins]-22));
	$slashstr = substr ($substins, strlen([$keyins]-2), strlen([$keyins]-1);
	if $slashstr == '/' { 
	$output = $slashstr;
	}
	    else {
	    $output = $substins;
	    }
}
return $output;Код которым вызываю сниппет[[!Clubinstagram*_id? &keyins = `[[!getKeyByContext? &context=`[[getcontextkey]]` &key=`social_in_group`]]`]]Сниппеты getcontextkey и getKeyByContext 100% работают и данные выдают. При вызове Clubinstagram*_id вылетает 500 ошибка.    
            *Meta, которой принадлежат facebook и instagram признана экстремистской в России
        
    
    
                                                                                
            Комментарии: 8
                если нужно просто id получить из строки, я думаю можно воспользоваться модификаторами phx из коробки            
                    
                Посмотрел модификаторы phx. Из коробки ничего подходящего не нашел. Писать свой как я понял это аналог того что есть.            
                    [[!ClubInstagram_id? &keyins = `[[!getKeyByContext? &context=`[[getcontextkey]]` &key=`social_in_group`]]`]]Проблемы с кавычками. Они ломают вызов. Попробуй заменить на ^.
Плюс очень сложный запрос.
[[getcontextkey]] — это сниппет или значение?
                То что запрос сложный я понял и киваю аккурат в эту сторону…
код [[getcontextkey]] ниже
                    код [[getcontextkey]] ниже
<?php
return $modx->context->key;Поменял вызов на такой [[!ClubInstagram_id? &keyins = ^[[!getKeyByContext? &context=^[[getcontextkey]]^ &key=^social_in_group^]]^]]Результат тот же.            
                Во первых, я говорил про внутренние кавычки. Во вторых, в сниппете getcontextkey вообще нет никакой необходимости. Ты запрашиваешь текущий контекст, а его можно получить и в Getkeybycontext.            
                    
                В строке 
В
нет скобок совсем, а надо.
Ну и непонятно, что такое
                    $slashstr = substr ($substins, strlen([$keyins]-2), strlen([$keyins]-1);не закрыта скобка.В
if $slashstr == '/' { нет скобок совсем, а надо.
Ну и непонятно, что такое
[$keyins]            
                Из 
                    $link="instagram.com/12345/" получить 12345 хватило бы$v=explode('/',$link); return isset($v[1]) ? $v[1] : '';            
                Спасибо. explode помогло. Премного благодарен.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.