We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 24489
    • 60 Posts
    Вот набросал сниппет для одного проекта, получился настолько для меня удобным, что решил выложить для общественности, ну и чтоб не потерялся wink

    Что делает:
    -Выводит список дочерних документов в параметрах ТВ
    -Выводит на странице ссылки на них (что-то вроде тегов только по-другому)

      Плагин для ресайза картинок AutoResizer
      Сниппет для вывода полей документа DocInfo

      Создание ТВ типа checkbox/dropdown из списка дочерних документов tvsLinks
      • 897
      • 1,620 Posts
      я лично не против новых сниппетов, вы бы описывали свой сниппет не "что делает", но "за чем нужен". а вывести "список дочерних документов" можно через wf.
        "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

        Не используйте Revo для "просто сайтов". Используйте Evo

        Who can defeat the Russian bear?
        • 1611
        • 591 Posts
        а что значит «в параметрах ТВ» ?
          • 27518
          • 75 Posts
          или хотябы ссылку на сайт с реализацией дали бы
            • 1611
            • 591 Posts
            Случайно вспомнил про этот снипет.
            Автору — РЕСПЕКТ! Сниппет спас в самый ответственный момент!
            Вечером напишу как его использовать, а сейчас еду сдавать работу %-). (А вообще, rariteth, надо было сразу написать небольшую документацию и пример использования)
              • 24489
              • 60 Posts
              Quote from: skmskm at Jul 01, 2009, 11:38 AM

              или хотябы ссылку на сайт с реализацией дали бы
              flowerplaza.ru - зайлите в любой букет там будет "состав букета", список цветов. В документе выбираешь что входит, а на сайте ссылки на документы.
                Плагин для ресайза картинок AutoResizer
                Сниппет для вывода полей документа DocInfo

                Создание ТВ типа checkbox/dropdown из списка дочерних документов tvsLinks
                • 1611
                • 591 Posts
                Как и обещал, скажу пару слов о сниппете.
                Часто приходится решать задачу категорирования различных данных.
                Проще всего сделать для этой цели TV-парметр, которым будет выбираться одна или несколько категорий некоторого документа modx.
                Очень удобно в данном случае категории задавать как документы modx, входящие в папку, допустим, "Категории" и имеющими нужный заголовок. Эта папка не показывается в меню, и, наверное, может быть вообще неопубликованна.

                Далее, во всех руководствах по modx следует рассказ как заполнить поле «Возможные значения TV» с помощью @SELECT и прямого запроса к таблице, в которой хранятся документы modx: modx_site_content.
                Зачем такие сложности? Пишем в этом поле @EVAL return $modx->runSnippet("tvsLinks",array(’doc’=>4,’depth’=>0,’folder’=>0)) (остальные параметры можно посмотреть в коде, там их не много) И, вуаля, TV заполняется документами так, как вы и хотели.

                Единственное, что пришлось сделать, это переопределить разделитель параметром &delim, который, по-умолчанию, почему-то установлен в «__», зачем, мне не понятно. Rariteth, прокомментируй, пожалуйста?

                Потом, список выбранных опций можно вывести на странице с помощью этого же сниппета, только в сочетании с параметром &tv. Есть поддержка шаблонов.

                Главное достоинство: не нужно ничего лишнего писать руками — все copy&paste.

                Из аналогов: Quill и tvExplorer
                  • 18793
                  • 63 Posts
                  Я так понимаю на сайте flowerplaza.ru при переходе по ссылкам параметров в разделах параметров используется Ditto с фильтрацией по этим параметрам
                  Как они задаются? в каждом разделе свой фильтр или есть возможность задать выборку общую в шаблоне
                    • 24489
                    • 60 Posts
                    Quote from: MaxTax at Jul 09, 2009, 04:35 AM

                    Я так понимаю на сайте flowerplaza.ru при переходе по ссылкам параметров в разделах параметров используется Ditto с фильтрацией по этим параметрам
                    Как они задаются? в каждом разделе свой фильтр или есть возможность задать выборку общую в шаблоне
                    да, в файле ditto/classes/filter.inc.php есть параметры фильтрации это когда вы ставите filter=’id,52,2’ я набросал кучу своих фильтров вот несколько со строки 100-какойто
                     case 20 :
                    
                    					$diff = count(array_intersect(array_slice(explode('__', $this->filterValue),1), array_slice(explode('__', $value[$this->array_key]),1)));
                    					if ($diff){
                    						$unset = 1;
                    					} elseif (!$diff) {
                    						$unset = 0;
                    					}
                    					break;	
                    				case 21 :
                    					
                    					$thisDate = explode('.',$this->filterValue);
                    					$tD = $thisDate[0]+0;
                    					$tM = $thisDate[1]+0;
                    					$arr = explode(';', $value[$this->array_key]);
                    					
                    					$hD = 0;
                    					$hM = 0;
                    					foreach($arr AS $k => $v) {
                    						$h = explode('.', $v);
                    						if ($tM==$h[1] && $h[0]>=$tD) { 
                    							$hD ++;
                    							$hM ++;
                    						}
                    					}
                    					
                    					if ($hM>=1 && $hD>=1){
                    						$unset = 1;
                    					} elseif ($hM===0 && $hD===0) {
                    						$unset = 0;
                    					}
                    					
                    					break;	


                    Единственное, что пришлось сделать, это переопределить разделитель параметром &delim, который, по-умолчанию, почему-то установлен в «__», зачем, мне не понятно. Rariteth, прокомментируй, пожалуйста?
                    никаких мыслей почему иммено так, но нужно было чтоб было не буква и не цыфра, прогнозировал неудобство при отборе и сложении парамтров а так всё просто зада делиметр в "__" и нормально в массив сложил, нужно было быстро и наверняка, может кривовато, ну подправить под себя всегда можно

                      Плагин для ресайза картинок AutoResizer
                      Сниппет для вывода полей документа DocInfo

                      Создание ТВ типа checkbox/dropdown из списка дочерних документов tvsLinks
                      • 6477
                      • 7 Posts
                      Спасибо большое, tvsLinks очень помог! Оказался очень кстати.

                      Подскажите, пожалуйста, какой сниппет корзины заказов используется на сайте flowerplaza.ru?