We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 48123
    • 19 Posts
    Здравствуйте! Подскажите, пожалуйста, можно ли сделать при помощи getResources выборку по определенным TV параметрам(своеобразный поиск).
    Алгоритм такой. Есть форма с двумя полями, пользователь вводит значия в эти поля, после нажатия на кнопку ПОИСК.Эти параметры должны попадать в getResources и сравниваться, например: в getResources TV.adress="пользовательское значение, которое он ввел" TV.phone="пользовательское значение, которое он ввел", а потом getResources выводил результат поиска. Может кто делал такое или можете подсказать материал? Буду весьма благодарен!
      • 49529
      • 196 Posts
      zesenn, можно, например, отсылать значения TV, по которым вы хотите фильтровать, через веб-форму, и вставлять ее значения в свойство tvFilters сниппета getResources:

      <form method="GET">
          <input type="text" name="phone">
          <input type="submit">
      </form>
      


      [[getResources?
          ...
          ...
          &tvFitlers=`phone==[[!getFilters]]`
      ]]
      
      


      Код сниппета getFilters примитивен:
      
      if (isset($_GET["phone"])) {
          return $_GET["phone"];
      } else {
          return "ANY";
      }
      


      Можно сделать и сложнее, через FormIt и хуки, но для вашей задачи это overkill.
        • 48123
        • 19 Posts
        Quote from: tired_eyes at Jul 04, 2014, 05:12 AM
        zesenn, можно, например, отсылать значения TV, по которым вы хотите фильтровать, через веб-форму, и вставлять ее значения в свойство tvFilters сниппета getResources:

        <form method="GET">
            <input name="phone" type="text">
            <input type="submit">
        </form>
        


        [[getResources?
            ...
            ...
            &tvFitlers=`phone==[[!getFilters]]`
        ]]
        
        


        Код сниппета getFilters примитивен:
        
        if (isset($_GET["phone"])) {
            return $_GET["phone"];
        } else {
            return "ANY";
        }
        


        Можно сделать и сложнее, через FormIt и хуки, но для вашей задачи это overkill.

        Большое спасибо за ответ! Я думаю в getResources не чез tvFitlers использовать, а произвести в базе вначеле в скрипле поиск, а потом вставить в getResources id ресурсов которые надо отобразить, так думаю меньше нагрузка будет чем по ТВ параметрам искать, котя не знаю как себя поведет getResources если id будет куча...
          • 49529
          • 196 Posts
          вы также можете воспользоваться дополнениями getProducts или pdoResources, которые ищут по TV, используя оптимизированный алгоритм.
          Удачи!
            • 48123
            • 19 Posts
            Quote from: tired_eyes at Jul 06, 2014, 09:55 AM
            вы также можете воспользоваться дополнениями getProducts или pdoResources, которые ищут по TV, используя оптимизированный алгоритм.
            Удачи!
            Спасибо! Надо глянуть, если не тяжело можете написать их названия?
              • 49529
              • 196 Posts
              getProducts так и называется, pdoResources идет в составе дополнения pdoTools. И то, и другое ставится через менеджер дополнений из админки сайта, без каких-то специальных телодвижений.
                • 48123
                • 19 Posts
                Quote from: tired_eyes at Jul 06, 2014, 10:22 AM
                getProducts так и называется, pdoResources идет в составе дополнения pdoTools. И то, и другое ставится через менеджер дополнений из админки сайта, без каких-то специальных телодвижений.
                А я думал что-то стороннее написано и работает поверх этих компанентов,а с этими компанентами я знаком чуть-чуть