We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 2873
    • 106 Posts
    Äðóçüÿ, êàê ñäåëàòü òàê, ÷òîáû â ðàçíûõ ìåñòàõ äðîïìåíþ ïî-ðàçíîìó ñîðòèðîâàëîñü?
    Åñòü ìåíþ ñàéòà, òàì äîëæíà áûòü ñîðòèðîâêà ïî ìåíþèíäåêñó, è åñòü ñàáìåíþ ðàçäåëà, ãäå ñîðòèðîâêà äîëæíà áûòü ïî äàòå ïóáëèêàöèè, ïðè÷åì ñâåæàòèíà ñâåðõó.
    Åñëè â ñíèïïåòå ÷òî-òî ìåíÿåøü - ìåíÿåòñÿ ñîðòèðîâêà âî âñåõ ìåíþ, à ýòî íåïðàâèëüíî.
    Ïîíèìàþ, ÷òî íóæíî êàêîé-òî ïàðàìåòð â êîíêðåòíîì ìåñòå ïðîïèñàòü, òîëüêî êàê îí ïèøåòñÿ, ïàðàìåòð ýòîò? Êîíêðåòíî äëÿ ñëó÷àÿ ñ ñîðòèðîâêîé ïî äàòå, ñâåæèå ââåðõó - ïîìîãèòå ïëèç?
    Äåôîðóì âàñ íå çàáóäåò smiley
      • 22301
      • 1,084 Posts
      засада. надо призывать духи php’истов, вдруг помогут. столкнувшись с такой же проблемой, я для каждого из меню сделал свой сниппет, в котором переименовал часть функций и аргументов. главное, переименовать $orderDesc -- по нему вытягиваются в определённом порядке дети из базы. не знаю, на сколько это правильно. так же, меня заинтересовало, можно ли сделать так, чтоб один кусок сниппета получал весь массив отцов и детей, а вывод организовывать другим, а то получается переизбыток запросов. автор сниппета ответил, что на настоящий момент это нереализуемо sad предостережение: на одной странице не получится использовать DropMenu и ListSiteMap, к примеру, парсер выдаст предупреждение, что функция такая-то уже задана, придётся и её переименовывать в сниппете.
        [img]http://jurist-info.ru/pic/rrr.jpg[/img]

        Безжалостный пияр!
        Artima -- неуч!
        Осторожно: преступная локализация -- modx-cms.ru
        Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

        Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
        • 2873
        • 106 Posts
        ñêîïèðîâàòü ñíèïïåò ÿ íå äîãàäàëñÿ smiley
          • 2873
          • 106 Posts
          ñêîïèðîâàë, íå ïîìîãëî huh
            • 22301
            • 1,084 Posts
            так и не поможет... если просто скопировать сниппет, не исправляя названия.... ммм..функций, там, аргументов, я путаюсь, не программист нисколько... то у тебя происходит переопредление параметров, и получается, что, к примеру, верхний сниппет (в порядке появления на странице) начинает работать с параметрами, которые переопределились ниже. плюс ко всему, если вывод идет через $something .= -- с точкой, то всегда есть маза заполучить неожиданный результат. иными словами, разместив несколько любых сниппетов на странице, ты, в каком-то роде, поместил на страницу один бооольшой такой длинный скрипт... вот и поковыряй воображаемый скрипт, и представь, что он там делает? если, к примеру, ты в одном сниппете задал параметр какой-то, а в другом решил использовать значение по умолчанию, то такой финт ушами не прокатит, ты будешь использовать значение, полученное раньше!

            $children = $modx->getActiveChildren($listParent, $orderBy, (!$orderDesc) ? 'ASC' : 'DESC', 'id, pagetitle, description, isfolder, parent, alias, longtitle, menutitle, hidemenu, introtext, content_dispo, contentType, type, template');
            


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

            а вот, что выше этого кусочка:

            $orderBy = (!isset($orderBy)) ? ’menuindex’ : "$orderBy"; -- по какому полю сортировать? если ты не прислал что-нить типа
            [[DropMenu?orderBy=menutuile]], то сортировка будет по индексу...

            $orderDesc = (!isset($orderDesc)) ? false : ($orderDesc==true); похожая конструкция, для определения порядка сортировки.

            ну так вот, вызывать каждый сниппет ты должен, задавая эти значения, иначе нельзя!

            [[DropMenu?orderBy=menutitle&orderDesc=true ....... ]] - это по меню по убыванию..
            если нужно по дате создания, к примеру, то [[DropMenu?orderBy=createdon&orderDesc=true ....... ]]

            yentsun рекомендует убивать лишние поля, когда заполучаешь детей -- это как захочешь, когда разберёшься, что да как smiley
              [img]http://jurist-info.ru/pic/rrr.jpg[/img]

              Безжалостный пияр!
              Artima -- неуч!
              Осторожно: преступная локализация -- modx-cms.ru
              Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

              Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
              • 2873
              • 106 Posts
              åñëè ÷åñòíî - ÿ íå î÷åíü ïîíÿë, ñ êåì òû ñåé÷àñ ðàçãîâàðèâàë? smiley
                • 2873
                • 106 Posts
                çàïîñòèë âîïðîñ ôîðåéíàì, ìîæåò êòî-òî ïðèäóìàë êàê òàêîå ñäåëàòü áåç ðàçìíîæåíèÿ ñíèïïåòîâ...
                http://modxcms.com/forums/index.php/topic,6528.0.html
                  • 22301
                  • 1,084 Posts
                  вопрос_1: а в основном меню ты указал условие сортировки?

                  выше ступил, ничего добавлять не надо, там ты просто вытаскиваешь нужные поля из базы. если указал условия сортировки, то они и подставляются в запрос. а вот если те потребуется указать для подразделов даты какие-нить, то добавить придётся нужное поле...
                    [img]http://jurist-info.ru/pic/rrr.jpg[/img]

                    Безжалостный пияр!
                    Artima -- неуч!
                    Осторожно: преступная локализация -- modx-cms.ru
                    Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

                    Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
                    • 2873
                    • 106 Posts
                    íåò, íå óêàçàë, òàì êàê-òî ïî äåôîëòó âñ¸.
                      • 22301
                      • 1,084 Posts
                      в задумчивости я ажно весь.. дефолтные они ужо заданы. такое дело, я нисколько, повторюсь, не php-master, но я, когда столкнулся с такой проблемой, просто тупо переобозвал "проблемный" параметр. по всему скрипту, понятное дело. он там два раза встречается. один раз, когда дефолт, второй -- когда гетактивчилдрен

                      upd, да, и для твоих нужд лучше использовать сниппет DisplayChildren

                      upd_2, smiley что-то ещё переименовывал, но не могу вспомнить, что smiley посмотрим, что ответят создатели...

                      upd_3, может, это поможет: первый сниппет выводи через [[ ... ]], а второй как и сейчас, через [! ... !]
                        [img]http://jurist-info.ru/pic/rrr.jpg[/img]

                        Безжалостный пияр!
                        Artima -- неуч!
                        Осторожно: преступная локализация -- modx-cms.ru
                        Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

                        Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun