В простом MySQL, это вроде как решается с помощью подзапроса. А в xpdo, вроде как можно использовать подзапросы. Но собрать это в кучу, пока не хватает мозгов (
<?php
// Работаем только на фронтенде и только с friendly urls
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr' || !$modx->getOption('friendly_urls')) {return;}
// Получаем запрашиваемый url
$alias = $modx->getOption('request_param_alias', null, 'alias', true);
$request = &$_REQUEST[$alias];
// Выбираем контексты с настройкой base_url
$q = $modx->newQuery('modContextSetting', array('key' => 'base_url', 'value:!=' => ''));
$q->select('context_key,value');
$contexts = array();
$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
// Учитываем наш запрос в БД
$modx->queryTime += microtime(true) - $tstart;
$modx->executedQueries++;
// Разбираем результаты
while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
$base_url = trim($row['value'], '/');
$context = $row['context_key'];
// Если запрос начинается с base_url какого-то контекста
if (preg_match('/^('.$base_url.')\//i', $request)) {
// То переключаемся на этот контекст
// Web инициализируется в index.php - на него переключаться не нужно
if ($context != 'web') {
$modx->switchContext($context);
}
// Вырезаем base_url из запроса, чтобы MODX нашел ресурс по uri
$request = preg_replace('/^'.$base_url.'\//', '', $request);
// Дело сделано - выходим из цикла
break;
}
}
}
И вызов:
Почему-то конструкция предлагаемая Василием для вызова плагинов из файловой системы, в случае с модификаторами не работает.
Подозреваю, что дело в событии на которое навешивается плагин, но не уверен. Подскажите пожалуйста, как правильно подтягивать код модификаторов из файлов
sasha.tumanov
Ну и предыдущую логику тоже придется немного переделать.
www.tinymce.com/docs/configure/content-appearance/#content_css
Вот полный код сниппета:
В простом MySQL, это вроде как решается с помощью подзапроса. А в xpdo, вроде как можно использовать подзапросы. Но собрать это в кучу, пока не хватает мозгов (
Плагин переключающий контексты:
Сниппет переключающий языки:
Настройки контекстов:
Настройки системы -> Babel
Тег base в начале странички:
Прошу прощения, что то у меня тут, видимо
А «d41d8cd98f00b204e9800998ecf8427e» — это хэш пустой строки, в md5, знакомая личность :))
А откуда name@mail.ru хочешь брать?
то видно, что поле email, пустое приходит, хотя в таблице modx_tickets_comments есть значение. Баг видимо.