We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 24707
    • 16 Posts
    Прошу помочь разобраться как сделать виртуальные документы.
    Есть вот примерно такая структура (Названия нереальные, это я для объяснения)
    Разделы
    Товары для детей
    Товары для взрослых
    Товары для школы
    Товары для мальчиков
    Товары для девочек

    и есть структура товары
    Товары
    Товары1
    велосипед
    коньки
    Товары2
    фломастеры
    пластилин
    Товары3
    бантики
    пуговки

    То есть в "Товары" находятся реальные документы с описанием всех полей и одно поле(TV параметр) ListBox MultiSelect в котором можно выбрать в каких разделах может быть товар. Например велосипед может быть в разделах "Товары для мальчиков" и "Товары для девочек" и так далее.

    Я хочу что бы в адресной строке было видно http://магазин/Товары для мальчиков/велосипед. То есть я понимаю как сделать что бы в разделе http://магазин/Товары для мальчиков/ отображались товары принадлежащие этому разделу, но товары(документы) реально принадлежат совершенно другой ветви документов и адрес вроде как http://магазин/товары/товары1/велосипед

    Попутный вопрос - как разбить постранично вывод товаров. (http://магазин/Товары для мальчиков/страница1, http://магазин/Товары для мальчиков/страница2) но не создавая в структуре "Разделы"->"Товары для мальчиков" новых дочерних документов.

    Если кто знает может подбросит информацию как работать с адресной строкой и куками в Modx?
    Спасибо за понимание smiley
      • 9085
      • 630 Posts
      Quote from: Redduck at Dec 24, 2010, 12:26 PM

      Прошу помочь разобраться как сделать виртуальные документы.
      ...

      Я хочу что бы в адресной строке было видно http://магазин/Товары для мальчиков/велосипед. То есть я понимаю как сделать что бы в разделе http://магазин/Товары для мальчиков/ отображались товары принадлежащие этому разделу, но товары(документы) реально принадлежат совершенно другой ветви документов и адрес вроде как http://магазин/товары/товары1/велосипед

      Попутный вопрос - как разбить постранично вывод товаров. (http://магазин/Товары для мальчиков/страница1, http://магазин/Товары для мальчиков/страница2) но не создавая в структуре "Разделы"->"Товары для мальчиков" новых дочерних документов.

      Если кто знает может подбросит информацию как работать с адресной строкой и куками в Modx?
      Спасибо за понимание smiley

      Значение TV-параметра можно указывать в адресной строке и разбирать в одном документе
      http://modxcms.com/forums/index.php/topic,58641.0.html
      Постраничное разбиение имеется в Ditto (он же используется для вывода списков товаров)
      С адресной строкой и куками (куки можно устанавливать и javascript-ом) работать в php, php-код размещать в сниппетах. У меня в подписи несколько ссылок (на мой взгляд полезных для изучения)
      ps все вопросы уже обсуждались на форуме - пользуйтесь ПОИСКОМ.
        Правильно заданный вопрос повышает вероятность получения нужного ответа.
        Что-то не работает? Загляните в лог ошибок!
        Есть проблема? "Локализуйте" её!
        Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
        • 24707
        • 16 Posts
        Спасибо за ответ.
        Поиском пользоваться умею, но так как я новичок и плохо знаю терминологию Modx мне несколько сложновато составить правильный запрос, а 70% ответа находится в самом вопросе smiley
          • 24707
          • 16 Posts
          Все сделал что хотел. За основу взял плагин RedirectMap 1.0. Подшаманил его как следует и вместо редирект поставил $modx->sendForward($page[0][’id’]);
          Теперь возник новый вопрос по безопасности?
          В плагине используется $q = $_REQUEST[’q’];
          Так вот сам вопрос тут необходимо провести различные проверки по безопасности или MODx уже все сделал за нас?
            • 9085
            • 630 Posts
            Quote from: Redduck at Dec 28, 2010, 02:52 PM

            Все сделал что хотел. За основу взял плагин RedirectMap 1.0. Подшаманил его как следует и вместо редирект поставил $modx->sendForward($page[0][’id’]);
            Теперь возник новый вопрос по безопасности?
            В плагине используется $q = $_REQUEST[’q’];
            Так вот сам вопрос тут необходимо провести различные проверки по безопасности или MODx уже все сделал за нас?
            А какие конкретно "различные проверки"? smiley
            Всё зависит от того, куда эти данные пойдут в дальнейшем... Вот так и фильтровать (или по старинке - addslashes, striptags...)
            ps. "Знаю, что что-то надо сделать.. а что - хз"
              Правильно заданный вопрос повышает вероятность получения нужного ответа.
              Что-то не работает? Загляните в лог ошибок!
              Есть проблема? "Локализуйте" её!
              Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
              • 24707
              • 16 Posts
              Извиняюсь.
              Что и как фильтровать я знаю. Просто бывает что сама система берет на себя большинство стандартных проверок. Например экранирует все данные пришедшие из вне и используемые в дальнейшем в запросах к базе данных. То есть применяет функцию addslashes в зависимости от установленного параметра magic_quotes_gpc. И так далее.
              Вопрос такой:
              В системе Modx 1.0.4 есть автоматическая проверка и экранирования параметров или это необходимо делать вручную?
              Просто если я к переменной $q применю функцию addslashes, а к ней уже применялась она то получится двойное экранирование.
              (Сейчас набросаю сниппет и проверю)