Как отфильтровать таблицу в Magento2?

169
16 августа 2017, 19:49

В ходе разработки плагина, в секции настроек, я создал таблицу такого вида.

Теперь я хочу настроить фильтры. Как это сделать?

В магенто я совсем новичок, но опыт работы с фреймворками есть. Если скажете что нужно создать экшен в контроллере или добавить поля в модель - я вас пойму.

Заранее спасибо!

Код формы

    <table class="image-recycle">
        <thead>
            <tr>
                <th colspan="1" class="check-column"><input type="checkbox" class="ir-checkbox check-all" name="check_all" /></th>
                <th colspan="2"><?php echo 'Image'; ?></th>
                <th colspan="5">
                                     <?php if($order_by=='filename') :?>
                                        <a href="<?php echo $url . "order_by/filename/dir/".$new_dir;?>">
                                             <?php echo 'Filename'; ?>
                                            <span class="<?php if($new_dir == 'desc'): ?>ir-arrow-up<?php else: ?>ir-arrow-down<?php endif ?>"></span></a>
                                    <?php else:?>
                                        <a href="<?php echo $url . "order_by/filename/dir/asc";?>">
                                            <?php echo 'Filename'; ?>
                                        </a>
                                    <?php endif ?>
                                </th>
                <th colspan="2">                                   
                                    <?php if($order_by=='size') :?>
                                        <a href="<?php echo $url . "order_by/size/dir/".$new_dir;?>">
                                             <?php echo 'Size'; ?>
                                            <span class="<?php if($new_dir == 'desc'): ?>ir-arrow-up<?php else: ?>ir-arrow-down<?php endif ?>"></span></a>
                                    <?php else:?>
                                        <a href="<?php echo $url . "order_by/size/dir/asc";?>">
                                            <?php echo 'Size'; ?>
                                        </a>
                                    <?php endif ?>(Kb)
                </th>
                <th colspan="2">
                                     <?php if($order_by=='status') :?>
                                        <a href="<?php echo $url . "order_by/status/dir/".$new_dir;?>">
                                             <?php echo 'Status'; ?>
                                            <span class="<?php if($new_dir == 'desc'): ?>ir-arrow-up<?php else: ?>ir-arrow-down<?php endif ?>"></span></a>
                                    <?php else:?>
                                        <a href="<?php echo $url . "order_by/status/dir/asc";?>">
                                            <?php echo 'Status'; ?>
                                        </a>
                                    <?php endif ?>
                                </th>
                <th colspan="2"><?php echo 'Action'; ?></th>
            </tr>
            <tr class="filter">
                <th colspan="1"></th>
                <th colspan="2">
                    <select name="image_name" id="filter_type" class="no-changes">
                        <option value=""  <?php if($search_type == "") { ?> selected <?php } ?>>All Type</option>                   
                        <option value="jpg"  <?php if($search_type == "jpg") { ?> selected <?php } ?>>JPG</option>
                        <option value="png"  <?php if($search_type == "png") { ?> selected <?php } ?>>PNG</option>
                        <option value="gif"  <?php if($search_type == "gif") { ?> selected <?php } ?>>GIF</option>
                        <option value="pdf"  <?php if($search_type == "pdf") { ?> selected <?php } ?>>PDF</option>                      
                    </select>
                </th>
                <th colspan="3">
                    <input name="name" id="filter_name" value="<?php $search_name; ?>" class="input-text no-changes" type="text" />
                    <button class="button do-search" href="#"><?php echo 'Search'; ?></button>

                </th>
                <th colspan="2"></th>
                <th colspan="2">
                    <?php //if($search_size == 0) $search_size = '' ?>
                </th colspan="2">
                <th colspan="2">
                    <select name="image_status" id="filter_status" class="no-changes">
                        <option value="" <?php if($search_status == "") { ?> selected <?php } ?>>All</option>                   
                        <option value="opt" <?php if($search_status == "opt") { ?> selected <?php } ?>>Optimized</option>
                        <option value="unopt" <?php if($search_status == "unopt") { ?> selected <?php } ?>>not optimized</option>                                           
                    </select>               
                </th>
                <th colspan="2"></th>                                                              
            </tr>
        </thead>
        <tfoot>
            <tr>
                <th colspan="1" class="check-column"><input type="checkbox" class="ir-checkbox check-all" name="check_all" /></th>
                <th colspan="2"><?php echo 'Image'; ?></th>
                <th colspan="5">
                                     <?php if($order_by=='filename') :?>
                                        <a href="<?php echo $url . "order_by/filename/dir/".$new_dir;?>">
                                             <?php echo 'Filename'; ?>
                                            <span class="<?php if($new_dir == 'desc'): ?>ir-arrow-up<?php else: ?>ir-arrow-down<?php endif ?>"></span></a>
                                    <?php else:?>
                                        <a href="<?php echo $url . "order_by/filename/dir/asc";?>">
                                            <?php echo 'Filename'; ?>
                                        </a>
                                    <?php endif ?>
                                </th>
                <th colspan="2">                                   
                                    <?php if($order_by=='size') :?>
                                        <a href="<?php echo $url . "order_by/size/dir/".$new_dir;?>">
                                             <?php echo 'Size'; ?>
                                            <span class="<?php if($new_dir == 'desc'): ?>ir-arrow-up<?php else: ?>ir-arrow-down<?php endif ?>"></span></a>
                                    <?php else:?>
                                        <a href="<?php echo $url . "order_by/size/dir/asc";?>">
                                            <?php echo 'Size'; ?>
                                        </a>
                                    <?php endif ?>(Kb)
                </th>
                <th colspan="2">
                                     <?php if($order_by=='status') :?>
                                        <a href="<?php echo $url . "order_by/status/dir/".$new_dir;?>">
                                             <?php echo 'Status'; ?>
                                            <span class="<?php if($new_dir == 'desc'): ?>ir-arrow-up<?php else: ?>ir-arrow-down<?php endif ?>"></span></a>
                                    <?php else:?>
                                        <a href="<?php echo $url . "order_by/status/dir/asc";?>">
                                            <?php echo 'Status'; ?>
                                        </a>
                                    <?php endif ?>
                                </th>
                <th colspan="2"><?php echo 'Action'; ?></th>
            </tr>
        </tfoot>
        <tbody>
    <?php 
    if($totalImages)
    {
    foreach($images as $k => $image): ;?>
            <?php if($k > 50) break; ?>
            <?php $alternate = ($k%2==0) ? 'even' : ''; ?>
            <tr class="<?php echo $alternate ?>">
                <th colspan="1" class="check-column">
                    <input type="checkbox" value="<?php echo $image['file'] ?>" name="images[]" class="ir-checkbox" />
                </th>

                <th colspan="2" class="item-image"  data-path ="<?php 
                         if($image['file']=='pdf')
                             echo $block->getViewFileUrl('images/pdf.jpg');
                         else
                             echo $block->getBaseURL().$image['file'];
                ?>">                                    
                            <p style=" width:120px; height:40px;">   Roll over for <br/> preview  </p>  
                </th>

                <td colspan="5" style="font-size:14px"><?php echo $image['file'] ?></td>
                                <td colspan="2" style="font-size:15px"><span class="filesize"><?php echo number_format($image['size_before']/1000, 2, '.', ''); ?></span></td>
                <td colspan="2" class="ir-status">
                                    <?php if($image['extension']) : $file = realpath($image['file']);  ?>
                                        <span class="optimizationStatus">Optimized at <?php echo round(($image['size_before']-$image['size_after'])/$image['size_before']*100,2);?>%</span>
                                    <?php endif; ?>
                </td>
                <td colspan="2">
                                    <?php if($image['extension']) { ?>
                                        <a class="button revert ir-action" href="#" data-image-realpath="<?php echo $image['file'] ?>"><?php echo 'Revert to original'; ?></a>
                                    <?php } else { ?>
                                        <a class="button optimize ir-action" href="#" data-image-realpath="<?php echo $image['file'] ?>"><?php echo 'Optimize'; ?></a>
                                    <?php } ?>
                                    </td>
            </tr>
    <?php endforeach; 
    }
    else{
        echo '<tr> <th colspan="5" class="item-image"><p style = "text-align:center">  There is no data <p> </th> </tr>';
    }
    ?>
        </tbody>
    </table>
READ ALSO
Liqpay передать значение input

Liqpay передать значение input

Добрый день, пытаюсь реализовать оплату на сайте через liqpayПользователь заполняет форму и после после нажатия на кнопку его перекидывает...

259
Запрос Where в Codeignither

Запрос Where в Codeignither

Всем приветИспользвую фраймворк Codeignither

180
Разбить и цикл не получается

Разбить и цикл не получается

Кусочек кода $tovar['ATTRIBUTES'] нужно два раза разбить строку по explode и собрать в мой вариантРазбить то я смог ) но проблема не могу сделать это все...

187
Вопрос по Komodo IDE

Вопрос по Komodo IDE

ЗдравствуйтеОчень понравился KOMODO IDE но не могу найти как тут включить пару функций, а именно: 1

196