We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 31814
    • 12 Posts
    Из пушки да по воробьям. Какие еще плагины и события? Бред. Id редактируемого ресурса в сниппете определяется элементарно в одно выражение.
    Берется из переменной:
    $id = $_GET['id']; //пишу на память, если нужно, точнее могу посмотреть позже.
    
      • 785
      • 2,113 Posts
      Quote from: Voyager at Apr 20, 2010, 04:23 AM

      Бред. Id редактируемого ресурса в сниппете определяется элементарно в одно выражение.
      И зачем эту ерунду написали? Что за «редактируемый ресурс» в сниппете? Сниппеты выполняются тогда, когда ресурсы не редактируются. И перед тем как ерунду писать, неплохо было бы хоть немного в поставленной задаче разобраться. Лучше бы промолчали и не позорились.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 31814
        • 12 Posts
        Quote from: AKots at Apr 20, 2010, 04:44 AM

        И зачем эту ерунду написали? Что за «редактируемый ресурс» в сниппете? Сниппеты выполняются тогда, когда ресурсы не редактируются. И перед тем как ерунду писать, неплохо было бы хоть немного в поставленной задаче разобраться. Лучше бы промолчали и не позорились.

        «редактируемый ресурс» в сниппете? Ну-ну, перечитайте еще раз что я написал.

        Вообще-то я прекрасно понимаю о чем речь, сам эту проблему решал, этим способом пользуюсь и также как автор вывожу списки. grin

        Или вас смутило что я куски кода на php сниппетами называю? wink И что в сниппете можно получать параметры извне? wink Вы вообще знаете что такое сниппет и как он работает? Автор спросил как определить id ресурса - я ответил, а вы, не разобравшись, предлагаете монстроидальные решения, и кто в этом случае ерунду пишет? Разберитесь сначала как в админке выводится TV для ресурса и как можно сделать вывод значений через биндинг @EVAL. Вы вроде статьи умные пишете, а матчасть не знаете...
          • 31814
          • 12 Posts
          Lord Daedra, в админке используй вместо
          $myid = $modx->documentIdentifier;
          

          конструкцию
          $myid = $_GET['id'];//простой вариант
          $myid = isset($_GET['id'])? intval($_GET['id']):0;//а так более корректно
          
            • 785
            • 2,113 Posts
            Quote from: AKots at Apr 20, 2010, 06:46 AM

            «редактируемый ресурс» в сниппете? Ну-ну, перечитайте еще раз что я написал.
            А сами не пробовали перечитать? Дословно «Id редактируемого ресурса в сниппете» - это что?

            Quote from: Voyager at Apr 20, 2010, 05:45 AM

            Или вас смутило что я куски кода на php сниппетами называю? wink И что в сниппете можно получать параметры извне? wink Вы вообще знаете что такое сниппет и как он работает?
            Вообще-то, если Вы не в курсе, в MODx имеется своя терминология, в которой сниппетами называются определенные элементы, а не любые фрагменты программ. Если хотите, чтобы Вас понимали, придерживайтесь этой терминологии.

            А по конкретному решению – в принципе безразлично, сделать eval или плагин, трудоемкость примерно одинакова (разве что Вы не умеете плагины делать и боитесь этого), так же как и применение global $id или $_REQUEST[’id’] ($_GET[’id’] по ряду причин не подойдет) – результат будет одинаковый, но использование плагинов мне кажется более наглядным и удобным, чем создание длинных строк для eval. А то, что Вы считаете любое решение, отличного от известного Вам бредом, не слишком хорошо Вас характеризует.
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 31814
              • 12 Posts
              Дословно «Id редактируемого ресурса в сниппете» - это что?
              Благодарю за то, что перечитали мое сообщение, и теперь копируете дословно.
              «Id редактируемого ресурса в сниппете» - это, как ни странно, идентификатор редактируемого ресурса, получаемый в сниппете (@EVAL...runSinppet, что сниппет вызвать, что кучу кода написать в TV - дело вкуса, это к терминологии что и как я называю, я делаю через вызов сниппета). wink
              А по конкретному решению – в принципе безразлично, сделать eval или плагин, трудоемкость примерно одинакова (разве что Вы не умеете плагины делать и боитесь этого)
              Я заметил, что вы везде стараетесь использовать плагины и события. Но поверьте, в этом случае это неоправдано. wink

                • 785
                • 2,113 Posts
                Quote from: Voyager at Apr 20, 2010, 07:28 AM

                что сниппет вызвать, что кучу кода написать в TV - дело вкуса
                Ну конечно, можно все вывернуть наизнанку, но все же логичнее использовать элементы в MODx так, как это предусмотрено.

                Quote from: Voyager at Apr 20, 2010, 07:28 AM

                Но поверьте, в этом случае это неоправдано
                Не верю, так как не вижу ничего, кроме голословных утверждений. В MODx специально разработана система событий, позволяющая многое сделать более удобно и логично.
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 17459
                  • 268 Posts
                  Всем большое спасибо за ваши ответы в моей теме, они мне очень помогли!

                  Сделал через $_GET, так как данное решение более простое и удобное в моём случае (не нужно ничего дополнительно создавать, проще описать в одном месте).

                  Однако хотелось бы поподробнее узнать о работе плагинов и событиях. Думаю, что к тому моменту, как придётся что-то снова делать на МодХ, буду использовать Revolution, который к тому времени будет стабильный.. Жаль, что разработчики не нашли достаточно времени, чтобы описать различные события и доступные для изменения объекты для каждого события.. К примеру, я совершенно не понял, откуда взялось $content у события PreRender и почему его нет когда Render. Это всё неочевидно и отталкивает от применения плагинов на своём сайте.. То есть сначала, конечно, хочется полистать документацию, разобраться, а не "методом тыка" (или копанием в исходниках МодХ) узнавать для себя какие-то новые вещи.. Отсутствие документации отталкивает от применения данных вещей..

                  Если говорить о каких-то глобальных проблемах - у МодХ многое реализовано криво, но это уже не изменить.. Конечно, если есть какой-то метод - он должен работать везде.. Да и в целом API и структура базы не очень хорошо сделаны (дополнительные и обычные поля должны обрабатываться одинаково, как считываться, так и записываться с помощью API), но по этой части претензий как бы и нет - всё-таки это не фреймворк а-ля Symfony/Django..
                    • 31814
                    • 12 Posts
                    Quote from: AKots at Apr 20, 2010, 07:35 AM

                    В MODx специально разработана система событий, позволяющая многое сделать более удобно и логично.
                    Ага, теперь давайте все делать через плагины. grin Как раз для такого есть стандартные средства - tv, сниппеты. Если что-то хорошо освоили, то не надо на любой чих везде пихать как панацею от всех проблем. Знать плагины также желательно, но главное - это грамотно уметь ими пользоваться. wink

                    Lord Daedra, пожалуйста, поздравляю. smiley
                      • 785
                      • 2,113 Posts
                      Quote from: Voyager at Apr 21, 2010, 01:56 AM

                      Как раз для такого есть стандартные средства - tv, сниппеты.
                      Сниппеты как раз не для такого. Кроме потока слов не вижу ни одного разумного объяснения, чем плагины, назначаемые на конкретное событие, хуже TV. Лучше же тем, что код в плагине более нагляден, чем строчка в TV, и предоставляется больше возможностей по управлению.
                        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                        Статьи о MODx, регулярно новые публикации