We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 53103
    • 1 Posts
    Если какая-то возможность снимать с публикации все документы из контейнера если контейнер сняли с публикации? т.е.


    Контейнер1
    - документ 1
    - документ 2
    - документ 3

    Если контейнер1 сняли с публикации, автоматом снимаются с публикации документ1, документ2, документ3. Если это как то можно настроить то как?
      • 36508
      • 1 Posts
      Если достаточно переключения через контекстное меню дерева, то можно сделать плагин на событие OnDocUnPublished:
      <?php
      $id = $resource->get('id');
      $query = $modx->newQuery('modResource', array('parent'=> $id));
      $resources = $modx->getCollection('modResource', $query);
      foreach($resources as $res) {  
      	$res->set('published', 0);
          $res->save();
      }


      Если же нужно полностью синхронизировать родителя и потомков (и на публикацию и на отмену публикации + чтобы работало не только из контекстного меню), то сделайте так:
      <?php
      $id = $resource->get('id');
      $pub = $resource->get('published');
      $query = $modx->newQuery('modResource', array('parent'=> $id));
      $resources = $modx->getCollection('modResource', $query);
      foreach($resources as $res) {
      	$res->set('published', $pub);
          $res->save();
      }

      И повесить его на три события: OnDocFormSave, OnDocPublished и OnDocUnPublished [ed. note: rpadesign last edited this post 7 years, 3 months ago.]