Как с контекста вытянуть настройки для снипета?

Как прописать в снипете и вытянуть настройку «site_start» с настроек текущего контекста и вытянуть текущий id ресурса для сравнения их ???

$context = $modx->getObject('modContext', ['key' => $contextKey]);
Alex
08 декабря 2022, 22:19
modx.pro
713
0

Комментарии: 3

Антон Тарасов
08 декабря 2022, 23:28
1
+1
Настройка контекста:
$contextKey = "yourcontext";
$ctx = $modx->getContext($contextKey);
$settings = $ctx->config;
$siteStart = $settings["site_start"];
Текущий ID:
$modx->resource->get('id')
    Alex
    09 декабря 2022, 00:08
    0
    Спасибо большое. Но я немного не правильно высказался — текущий ID который перебираю для построения XML карты. Потому что $modx->resource->get('id') выдает текущий XML карты, а мне нужен ресурса
    $resources = getMapQuery($classNames[$key],$select,$where);
    
        if(!empty($resources)){
        foreach ( $resources as $resource ){
            if(!empty($resource['alias'])){
                if (!isset($resource['context_key'])) {
                    $resource['context_key'] = !empty( $contexts[$key] ) ? $contexts[$key] : $contexts[0];
                }
    vectorserver
    09 декабря 2022, 10:06
    1
    0
    Вот так:
    <?php
    /* @var modX $modx */
    $context_key = 'abc';
    $context_resID = '317';
    
    //Опция site_url
    $site_url = $modx->getOption('site_url', array('context_key'=>$context_key));
    var_dump($site_url);
    
    //Поуличить ресурс из котекста
    /* @var modResource $resource*/
    $resource = $modx->getObject('modResource', array('id'=>$context_resID, 'context_key'=>$context_key));
    if ($resource){
        var_dump($resource->pagetitle ." | ".$resource->id);
    }
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3