Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

Всем привет. Решил сделать собственный модуль. По аналогии с разными модулями "товары во вкладках" задумал категории во вкладках. Нашел подходящую "болванку" для админки вывел все в пользовательскую часть все работает. Но хотелось бы немного усовершенствовать админку. На скрине впринципе видно механизм действия - кнопкой добавляются блоки, в блоках три текстовых поля - 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>  

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

Link to post
Share on other sites

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.