• Как в Modx указать источник файлов для конкретного шаблона?

    qork
    @qork
    { background: #F00B42 }
    Создаем в настройках дополнительный ключ со значением источника по умолчанию (например, defaultSourceFile).
    Создаем плагин на системное событие OnDocFormRender (или Prerender).

    $setting = $modx->getObject('modSystemSetting', 'sourceFile');
    
    $tplID = $resource->get('template');
    $change = false;
    
    if($tplID == 2){
      $setting->set('value', 'newValue');
      $change = true;
    } else{
      $defaultSetting = $modx->getObject('modSystemSetting', 'defaultSourceFile')->get('value');
      if($defaultSetting != $setting->get('value')){
        $setting->set('value', $defaultSetting);
        $change = true;
      }
    }
    
    if($change){
      $setting->save();
      $modx->cacheManager->refresh(array('system_settings' => array()));
    }


    Получается, при редактировании ресурса с id шаблона 2, настройка меняется на newValue, в остальных случаях, откатывается до значения из настройки defaultSourceFile, если настройка была изменена.
    Ответ написан
    2 комментария