1. The 3.8 code for Fabrik is now available on github, in the 'master' branch. If you are familiar with updating Fabrik from github, we would appreciate it if you could test this code on J! 3.8 for us. Once we have some feedback, we'll build a 3.8 release.

Display List Filter Horizontally

Jul 1, 2013
Display List Filter Horizontally
  • If you are using a default Fabrik template, first clone it by copying its folder in /components/com_fabrik/views/list/tmpl/ and renaming it.

    Then edit its default_filter.php template and replace its code with the following code:
    PHP:
    <div class="fabrikFilterContainer">
        <?php if ($this->filterMode === 3 || $this->filterMode === 4) {?>
            <div class="searchall">
                <ul class="fabrik_action">
                    <?php if (array_key_exists('all', $this->filters)) {
                        echo '<li>' . $this->filters['all']->element . '</li>';
                    }?>
                    <?php if ($this->filter_action != 'onchange') {?>
                        <li>
                            <input type="button" class="fabrik_filter_submit button" value="<?php echo JText::_('COM_FABRIK_GO');?>" name="filter" >
                        </li>
                    <?php } ?>
                </ul>
            </div>
        <?php } else { ?>
            <table class="filtertable fabrikList">
                <thead>
                    <tr class="fabrik___heading">
                        <?php foreach ($this->filters as $filter) {?>
                            <th><?php echo $filter->label;?></th>
                        <?php }?>
                    </tr>
                </thead>
                <tbody>
                    <tr class="fabrik_row oddRow1">
                        <?php
                            $c = 0;
                            foreach ($this->filters as $filter) {
                                $required = $filter->required == 1 ? ' notempty' : ""; ?>
                                <td class="<?php echo $required?>">
                                    <?php echo $filter->element;?>
                                </td>
                                <?php $c ++;
                            } ?>
                    </tr>
                </tbody>
                <tfoot>
                    <?php if ($this->filter_action != 'onchange') {?>
                        <tr class="fabrik_row oddRow0">
                            <td colspan="<?php echo count($this->filters)?>" style="text-align:right;">
                                <input type="button" class="fabrik_filter_submit button" value="<?php echo JText::_('COM_FABRIK_GO');?>"
                                  name="filter" />
                            </td>
                        </tr>
                    <?php }?>
                </tfoot>
            </table>
        <?php }?>
    </div>
    Finally edit your list and select your new template.
s6930064 likes this.