We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28630
    • 31 Posts
    Аналогичную проблему нашел в комментариях к посту Делаем поиск по множественным TV http://modx.ru/blog/409/?jnc9b376fb=3#jotnavc9b376fb1939de21b3daec928c52d16f


    Oleg
    new comment 30.06.2009, 14:57:44

    Бесполезная вещь, провозился несколько часов, tv параметры не обрабатываются, вернее обрабатываются, но не так как нужно. Постичь хитроумную логику сравнения не удалось, как и принцып работы 3-го параметра у filter. Вместо 5 is less than or equal to the criterion (<=) 6 is greater than or equal to the criterion (>=) работает 3 is less than the criterion (<) 4 is greater than the criterion (>)

      • 16754
      • 56 Posts
      Help! не работает сие чудо. Непонятно что за ерунда undecided
      При вызове выдаёт следующую ошибку:
      « MODx Parse Error »
      MODx encountered the following error while attempting to parse the requested resource:
      « PHP Parse Error »
       
      PHP error debug
        Error: 	Invalid argument supplied for foreach()	 
        Error type/ Nr.: 	Warning - 2	 
        File: 	/home/t/tasha/public_html/assets/modules/tvEditor/class/tveditor.class.php	 
        Line: 	785	 
        Line 785 source: 	foreach($tvFormElements as $name => $element){ 	 
       
      Parser timing
        MySQL: 	0.0104 s	(14 Requests)
        PHP: 	0.0532 s	 
        Total: 	0.0635 s


      Вызов выглядит так:
      [!tvExplorer?&dittoName=`Ditto`&formTpl=`sort`&dittoSnippetParameters=`tpl:catalogtpl|parents:13,14,44|summarize:15|language:russian-UTF8|paginate:1`!]
      [+tve.searchForm+]
      [+tve.dittoList+]

      Помогите, пож-та, разобраться
        • 15944
        • 88 Posts
        Quote from: Lawer at Oct 22, 2009, 05:03 PM

        При вызове выдаёт следующую ошибку:
        Посмотрите в англоязычной версии, там всплывала эта ошибка
        http://modxcms.com/forums/index.php/topic,16456.100.html
          • 16754
          • 56 Posts
          Quote from: KiR at Oct 23, 2009, 11:06 AM

          Посмотрите в англоязычной версии, там всплывала эта ошибка
          http://modxcms.com/forums/index.php/topic,16456.100.html
          Спасибо за наводку, изменил шаблон формы - форма появилась.
          В админке модуля сортировка работает отлично, но при попытке совершить запрос с фронта ошибка такая:
          « MODx Parse Error »
          MODx encountered the following error while attempting to parse the requested resource:
          « `Array` is not numeric and may not be passed to makeUrl() »
           
          Parser timing
            MySQL: 	0.0130 s	(14 Requests)
            PHP: 	0.0615 s	 
            Total: 	0.0745 s
          

          При этом в адресной строке наблюдается следующее:
          ...ru/sort.html?sex=%25D0%259C&volume1=90&volume2=60&volume3=90&hair=%25D0%2591%25D0%25BB%25D0%25BE%25D0%25BD%25D0%25B4&search=Search

          Склоняюсь что что-то не так с шаблоном формы...
          Пните в нужную сторону, дабы устранить сею ошибку.
          Шаблон формы:
          <form id="sort" action="[(base_url)][~107~]" method= "get”>
          <input type="hidden" value="[*id*]" name="id" />
          <fieldset>
          [+tve.sex:label->Грудь:tvtype->option+]<br />
          </fieldset>
          <fieldset>
          [+tve.volume1:label->Грудь:tvtype->select:blankLabel->Все+]
          </fieldset>
          <fieldset>
          [+tve.volume2:label->Талия:tvtype->select:blankLabel->Все+]
          </fieldset>
          <fieldset>
          [+tve.volume3:label->Бёдра:tvtype->select:blankLabel->Все+]
          </fieldset>
          <fieldset>
          [+tve.hair:filter->1:label->Цвет волос:tvtype->select:blankLabel->Любой+]
          </fieldset>
          <fieldset class="sendForm">
          <input type="submit" name="search" value="Search" />
          </fieldset>
          </form>

            • 36823
            • 334 Posts
            А что такое запрос с фронта и как он выглядит?
              • 16754
              • 56 Posts
              фронт - имеется в виду "лицевая" часть сайта.
              Запрос с фронта - попытка отсортировать документы посредствам формы, вызванной с помощью tvExplorer
                • 36823
                • 334 Posts
                Вот как. Вы уже наверняка знаете где ошиблись. smiley
                  • 16754
                  • 56 Posts
                  Quote from: Andrei at Oct 26, 2009, 12:11 PM

                  Вот как. Вы уже наверняка знаете где ошиблись. smiley
                  Верно grin
                  Вобщем как я понял поля формы должны выглядеть примерно так:
                  [+tve.tvname:name->tvname:filter->9:label->Имя_параметра:tvtype->Тип_параметра+]

                  По крайней мере так у меня заработало. Ошибка описанная мною парой постов ранее устранилась после указания параметра name->tvname и filter->9.

                  Напрашиваются следующие вопросы - Какова логика указания значения для параметра filter ?
                    • 16754
                    • 56 Posts
                    К вопросу о логике значения filter:

                    Используется формат поле,критерий, режим с запятой между значениями

                    *Mode* - *Meaning*

                    * 1 - !=
                    * 2 - ==
                    * 3 - <
                    * 4 - >
                    * 5 - <=
                    * 6 - >=
                    * 7 - Текста нет в значении поля
                    * 8 - Текст в значении поля

                    @EVAL:

                    @EVAL in filtersworks the same as it does in MODx exect it can only be used

                    with basicfiltering, not custom filtering (tagging, etc). Make sure that

                    you return thevalue you wish Ditto to filter by and that the code is valid PHP.
                      • 17048
                      • 4 Posts
                      Quote from: stone at Jul 31, 2009, 06:37 AM

                      Необходимо сделать выборку по полю стоимость - cost в интервале от и до.
                      Для этого использую фильтры 6(>=) и 5(<=).
                      В tv cost стоят значения от 100 до 110. Все работает, только вот загвоздка: значение 100 не попадает в вывод ditto, если поставить в форме от 100.

                      <fieldset>
                      [+tve.cost:#RANGE{label->от:filter->6||label->до:filter->5}+]
                      </fieldset>
                      


                      У меня решилось самым неожиданным образом
                      [+tve.proizvoditelnost:#RANGE{label->от:filter->3||label->до:filter->4}+]

                      самое интересное - работает, получается что фильтры:
                      3 - >=
                      4 - <=