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

    Хочу чтобы по клику по ресурсу обрабатывалось сначала условие, по которому определялось бы открыть документ на редактирование или запустить модуль.(очень удобно будет для интернет магазина - в дереве выбрал категорию и в модуле заносишь товар)

    Можно прописать в самом движке, но не хотелось бы его корежить.
      • 785
      • 2,113 Posts
      Можно обрабатывать событие OnManagerPageInit, меняя выполняемое действие.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 13400
        • 44 Posts
        проверил, это событие обрабатывается постоянно, чтобы я не делал в админки
          • 8021
          • 24 Posts
          Оно срабатывает при выводе (инициализации) каждого фрейма:
          - меню
          - дерева
          - "основного" окна (ред. ресурса, чанки, сниппетты, ..)

          В плагине нужно отловить вывод именно фрейма дерева.
          Это всё, что я пока понял )
          Тоже самому скоро нужно будет подобное.

          Пока могу посоветовать поковырять плагин JSAM
          там такие штуки есть (манипуляции с меню, с деревом, ...)
            • 785
            • 2,113 Posts
            Quote from: Jager at Mar 30, 2011, 04:18 AM

            проверил, это событие обрабатывается постоянно, чтобы я не делал в админки
            Естественно, я же только наметил пути, а не разжевывал…
            Попробуйте выполнить плагин, назначив его на это событие
            if ($modx->event->params[’action’]==27) {
            echo ’Редактировать не буду’;
            exit;
            }
            Может, станет более ясно. Сразу скажу, что, возможно, надо перед exit еще выполнить эти команды (не уверен, не разбирался):
            include_once "log.class.inc.php";
            $log = new logHandler;
            $log->initAndWriteLog();
            unset($_SESSION[’itemname’]);
            include_once "debug.inc.php";
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 13400
              • 44 Posts
              Quote from: AKots at Mar 30, 2011, 08:16 AM

              $modx->event->params[’action’]

              я проверяю $modx->manager->action ) просто это событие, OnManagerPageInit, проверяется постоянно, думал будет тормозить, но раз другого, более узкого нет, буду использовать его. Спасибо;)

              Quote from: AKots at Mar 30, 2011, 08:16 AM


              include_once "log.class.inc.php";
              $log = new logHandler;
              $log->initAndWriteLog();
              unset($_SESSION[’itemname’]);
              include_once "debug.inc.php";


              Это, я так понимаю, скорее пригодиться для отладки. Опробуем.
                • 13400
                • 44 Posts
                Quote from: Dreeman at Mar 30, 2011, 06:48 AM


                Пока могу посоветовать поковырять плагин JSAM
                там такие штуки есть (манипуляции с меню, с деревом, ...)


                Спасибо, поковыряю.
                  • 785
                  • 2,113 Posts
                  Quote from: Jager at Mar 30, 2011, 08:31 PM

                  событие, OnManagerPageInit, проверяется постоянно
                  Одна лишняя проверка никак не скажется на производительности, это делается практически мгновенно.
                    Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                    Статьи о MODx, регулярно новые публикации