Как с контекста вытянуть настройки для снипета?
Как прописать в снипете и вытянуть настройку «site_start» с настроек текущего контекста и вытянуть текущий id ресурса для сравнения их ???
$context = $modx->getObject('modContext', ['key' => $contextKey]);
Комментарии: 3
Настройка контекста:
$contextKey = "yourcontext";
$ctx = $modx->getContext($contextKey);
$settings = $ctx->config;
$siteStart = $settings["site_start"];
Текущий ID:$modx->resource->get('id')
Спасибо большое. Но я немного не правильно высказался — текущий 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];
}
Вот так:
<?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);
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.