|  |   | 21.01.2016, 08:47 
                                    
                                    
                                    
                                    
                                  | 
                            
                            
                              |  | Дмитрий Дмитрий
 
  
 Зарегистрирован: 2015-07-31
 Сообщений: 53
 | Здравствуйте! 
 Столкнулся с заданием: человеку надо так сделать компонент, чтобы в нем присутствовал выбор товаров из выпадающего списка для использования В АДМИНКЕ. Товары, понятно, это другой компонент. Смотрел в сторону "связь с другим объектом", но там не похоже.
 
 По сути, кроме стандартных Неткатовских полей - строка, число и прочие - надо уметь добавить свое поле, где тип поля - товар, другой компонент.
 
 Это вообще реально? В какую сторону копать?
 
 Спасибо
 | 
                            
                            
  |  |   | 21.01.2016, 08:57 
        
        
        
        
      | 
  |  | resident Веб-группа «Дабл Ю»
 
 
 Зарегистрирован: 2005-01-10
 Сообщений: 336
 | если связь с другим объектом не устраивает, то можно сделать свой шаблон, в котором сделать выпадающий список с другими товарами <select name="f_Fileld"><?=listQuery("SELECT Message_ID,Name FROM MessageXX","<option value='\$data[Message_ID]'>\$data[Name]</option>")?></select>
 | 
  |  |   | 21.01.2016, 09:05 
        
        
        
        
      | 
  |  | Дмитрий Дмитрий
 
  
 Зарегистрирован: 2015-07-31
 Сообщений: 53
 | Спасибо за ответ! Я уточню: требуется получить выпадающий список для выбора товаров в АДМИНКЕ, не на сайте.
 
 То есть я создаю компонент "Скидка", у него поля "Начало акции (дата), скидка (число), товар(компонент?)". Я в админке кликаю на "товар", и делаю выбор из списка.
 
 Предложенный Вами способ сработает? Если да, то куда мне вставить этот скрипт?
 | 
  |  |   | 21.01.2016, 19:03 
        
        
        
        
      | 
  |  | Игорь Игорь Мишарин
 
  
 Зарегистрирован: 2011-11-20
 Сообщений: 482
 | Связь с другим объектом - как раз оно. В поле формат вводите MessageXXXX
 MessageXXX - компонент с товарами.
 И в этом поле у Вас будет ID выбранного товара (Message_ID).
 
 
 Stark | 
  |  |   | 23.01.2016, 00:40 
        
        
        
        
      | 
  |  | Дмитрий Дмитрий
 
  
 Зарегистрирован: 2015-07-31
 Сообщений: 53
 | Да, с этим я уже поэксперементировал, спасибо) Вопрос в том, как сделать выбор товара не  из выпадающего дерева, а организовать на этом месте выпадающий список товаров. 
 Это задача минимум. Максимум - еще и формировать список по результатом поиска по названию. Но это, думаю, вообще фантастика в рамках Нетката)
 | 
  |  |   | 24.01.2016, 14:17 
        
        
        
        
      | 
  |  | Гость Гость
 
 
 | Цитата:Да, с этим я уже поэксперементировал, спасибо) Вопрос в том, как сделать выбор товара не  из выпадающего дерева, а организовать на этом месте выпадающий список товаров. 
 Это задача минимум. Максимум - еще и формировать список по результатом поиска по названию. Но это, думаю, вообще фантастика в рамках Нетката)
 Вам же дали ответ о том как это организовать выпадающий список - изучите, хотябы немного, документацию в разделе компоненты ... про альтернативные формы доавбления/изменения объектов.
 Дело не в рамках неткета, а в вас.
 | 
  |  |   | 24.01.2016, 14:25 
        
        
        
        
      | 
  |  | DiGGy DiGGy
 
  
 Зарегистрирован: 2005-04-04
 Сообщений: 1546
 | Надо отделить мух от котлет. Вам нужны след. компоненты (таблицы):
 1. Товар
 2. Акции
 3. Товар, участвующих в акции.
 
 Т.е. делаете универсальную логику - есть список акций, есть список товаров, участвующих в той или иной акции.
 
 Дальше уже решаете как удобней для заказчика - либо при создании акции сразу указывать товары, либо заходить в каждый товар и указывать в каких акциях он участвует (можно делать сразу оба варианта).
 
 Вам понадобится сделать отдельные шаблоны для акций и/или товаров. В которых надо подпилить альтернативные формы добавления/изменения. В самих формах при помощи jQuery делаете возможность добавления в html форму неограниченного кол-ва "выпадающих списков" или других управляющих элементов. Чтобы клиент мог добавить один товар, потом нажать на кнопку добавить еще товар и т.п.
 
 Поле связь с другим объектом - имхо, имеет не юзабельный интерфейс и большинству клиентов не подходит - сложное, поэтому лучше сделать свой вариант.
 
 В поле "действие после добавления/изменения" парсите полученный массив выбранных товаров и запихиваете их в таблицу "Товар, участвующих в акции"
 
 
 Temet nosce... | 
  |  |   | 24.01.2016, 14:31 
        
        
        
        
      | 
  |  | Гость Гость
 
 
 | Цитата:Спасибо за ответ!Я уточню: требуется получить выпадающий список для выбора товаров в АДМИНКЕ, не на сайте.
 
 То есть я создаю компонент "Скидка", у него поля "Начало акции (дата), скидка (число), товар(компонент?)". Я в админке кликаю на "товар", и делаю выбор из списка.
 
 Предложенный Вами способ сработает? Если да, то куда мне вставить этот скрипт?
 А что значит "в админке кликаю на товар и делаю выбор из списка"???
 Этот код у вас не получится просто вставить. Его нужно адаптировать под вашу ситуацию. Разберите этот код и поймите, что за что отвечает и что делает - тогда поймёте что и как сработает.
 В этой ветке есть ответы и решения вашего, достаточно простого вопроса. А в поиске по документации и форуму есть ответы на все попутные вопросы, которые у вас могут возникнуть.
 | 
  |  |   | 24.01.2016, 14:35 
        
        
        
        
      | 
  |  | Гость Гость
 
 
 | Цитата:В самих формах при помощи jQuery делаете возможность добавления в html форму неограниченного кол-ва "выпадающих списков" или других управляющих элементов. Чтобы клиент мог добавить один товар, потом нажать на кнопку добавить еще товар и т.п.
 А можно именно об этом немного подробнее?
 
 Спасибо!
 | 
  |  |   | 24.01.2016, 14:44 
        
        
        
        
      | 
  |  | DiGGy DiGGy
 
  
 Зарегистрирован: 2005-04-04
 Сообщений: 1546
 | Можно 
 
 Temet nosce... | 
  |  |   | 24.01.2016, 17:25 
        
        
        
        
      | 
  |  | Гость Гость
 
 
 | Спасибо за запрос.
 |