Перейти к содержанию
toni13

Прикрутить автоподстановку

Рекомендуемые сообщения

Всем привет. Решил сделать собственный модуль. По аналогии с разными модулями "товары во вкладках" задумал категории во вкладках. Нашел подходящую "болванку" для админки вывел все в пользовательскую часть все работает. Но хотелось бы немного усовершенствовать админку. На скрине впринципе видно механизм действия - кнопкой добавляются блоки, в блоках три текстовых поля - category1, category2 и sort_order. Поля для категорий заполняю через запятую. Хотелось бы для поля category1 сделать выпадающий select со всеми категориями(так как по логике там должно присутствовать только одно значение) а для поля category2 сделать автоподстановку категорий (как в модуле рекомендуемых товаров) Приблизительно понимаю что для начала в контроллере модуля нужно вытащить category_id и name категорий, а затем правильно добавить их в шаблон, но там идет динамическое добавление блоков... а я не сильно силен в синтаксисе - может кто поможет. 
Делаю на ocstore 2.3.0.2.1
Вот как выглядит админка 

5a0c692946393_mymodule.jpg.0bc664067131bf949c902a1083d59baf.jpg

 

вот часть кода из контроллера которая у меня отвечает за вывод данных модуля

        $data['mymodule'] = array();
        $sort_order = array();
        foreach ($results as $sort_od){
        $sort_order[] = $sort_od['sort_order'];
        }
        array_multisort($sort_order, $results);
                
        foreach ($results as $result) {
            $data['mymodule'][] = array(
                'category1'       => $result['category1'],
                'category2'       => $result['category2'],
                'sort_order'      => $result['sort_order'],
            );
        }

а это часть шаблона модуля, отвечающая за мой модуль

<fieldset>
                  <legend>Модуль</legend>
                  <table id="mymodule" class="table table-striped table-bordered table-hover">
                     <thead>
                        <tr>
                           <td class="text-left" width="40%">Категория 1</td>
                           <td class="text-left" width="40%">Категории</td>
                           <td class="text-left" width="20%">Сортировка</td>
                           <td></td>
                        </tr>
                     </thead>
                     <tbody>
                        <?php $module_row = 0; ?>
                        <?php foreach ($mymodule as $value) { ?>
                        <tr id="module-row<?php echo $module_row; ?>">
                           <td class="text-left">
                              <input type="text" name="mymodule[<?php echo $module_row; ?>][category1]" value="<?php echo isset($value['category1']) ? $value['category1'] : ''; ?>" placeholder="" class="form-control" />
                           </td>
                           <td class="text-left">
                              <input type="text" name="mymodule[<?php echo $module_row; ?>][category2]" value="<?php echo isset($value['category1']) ? $value['category2'] : ''; ?>" placeholder="" class="form-control" />
                           </td>   
                           <td class="text-left">
                              <input type="text" name="mymodule[<?php echo $module_row; ?>][sort_order]" value="<?php echo isset($value['sort_order']) ? $value['sort_order'] : ''; ?>" placeholder="" class="form-control" />
                           </td>                               
                           <td class="text-left"><button type="button" onclick="$('#module-row<?php echo $module_row; ?>, .tooltip').remove();"  class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>
                        </tr>
                        <?php $module_row++; ?>
                        <?php } ?>
                     </tbody>
                     <tfoot>
                        <tr>
                           <td colspan="3"></td>
                           <td class="text-left"><button type="button" onclick="addModule();" data-toggle="tooltip" title="" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td>
                        </tr>
                     </tfoot>
                  </table>
               </fieldset>               
            </form>
         </div>
      </div>
   </div>   
   <script type="text/javascript">
      var module_row = <?php echo $module_row; ?>;
      
      function addModule() {
          html  = '<tr id="module-row' + module_row + '">';
          html += '    <td class="text-left">';
          html += '    <input type="text" name="mymodule[' + module_row + '][category1]" value="0" placeholder="" class="form-control" />';   
          html += '    </td>';           
          html += '    <td class="text-left">';
          html += '    <input type="text" name="mymodule[' + module_row + '][category2]" value="0" placeholder="" class="form-control" />';   
          html += '    </td>';       
          html += '    <td class="text-left">';
          html += '    <input type="text" name="mymodule[' + module_row + '][sort_order]" value="0" placeholder="" class="form-control" />';   
          html += '    </td>';   
          html += '      <td class="text-left"><button type="button" onclick="$(\'#module-row' + module_row  + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>';
          html += '</tr>';
          
          
          $('#mymodule>tbody').append(html);
          module_row++;
      }
   </script>  

Был бы очень признателен за помощь. С меня на пиво!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пока удалось прикрутить select, а вот с автозаполнением никак не получается:(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.