Где хранить id, который требуется в сниппетах
        Перед загрузкой страницы требуется определить региональный контекст, который будет неоднократно использоваться в сниппетах для правильного построения меню, перенаправлений и вывода региональной информации.
Решил реализовать это в виде плагина, который срабатывает до обработки шаблона когда контекст текущей страницы уже доступен. Плагин будет определять правильный регион (по кукам, текущему контексту и geoip) и сохранять его context_key в чанке, который затем будет использоваться сниппетами.
Подскажите, на какое событие нужно вешать плагин и есть ли альтернативные, более правильные варианты реализации?
    
    
                                                                                
            Решил реализовать это в виде плагина, который срабатывает до обработки шаблона когда контекст текущей страницы уже доступен. Плагин будет определять правильный регион (по кукам, текущему контексту и geoip) и сохранять его context_key в чанке, который затем будет использоваться сниппетами.
Подскажите, на какое событие нужно вешать плагин и есть ли альтернативные, более правильные варианты реализации?
Комментарии: 8
                Стоп. Чанк не подходит для хранения информации о пользователе, при условии, что интерфейс многопользовательский. Нужен какой-то объект, который будет доступен из сниппета, в который можно положить context_key. Есть такое в MODX?            
                    
                Как передать параметр из плагина в несколько сниппетов?            
                    
                Задать константу в плагине не получается…            
                    
                1) хранить в куках
2) хранить в настройках контекста
там уже от ваших более конкретных задач
                    2) хранить в настройках контекста
там уже от ваших более конкретных задач
                Для этих целей используются плейсхолдеры
                    $modx->setPlaceholder('region', $value);И в любом месте на странице можно использовать: [[!+region]] — для каждого пользователя будет свой.            
                Спасибо за ответ! Регион итак хранится в куках, но когда кука ещё не выставлена, чтобы избежать многократного определения региона и выставления кук, вынес эту проверку в плагин. В итоге мне помог ваш вариант с плейсхолдером:
В плагине:
                    В плагине:
$key = $modx->setPlaceholder('region_key', $key);В сниппете:$key = $modx->getPlaceholder('region_key');            
                Не понимаю, зачем эти пляски с плейсходерами. В плагине определяете регион (по куке или по ip) и переключаете контекст.            
                    
                А причем здесь переключение контекстов? Основные разделы сайта региононезависимы. Мне нужно, находясь в контексте web, правильно ставить ссылки на нужный региональный раздел, расположенный на отдельном контексте, и подтягивать подтягивать региональные блоки конкретного региона.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.