Панель поиска Joomla не загружает пользовательское состояние - PullRequest
0 голосов
/ 16 сентября 2018

Я реализую поисковую панель Joomla в компоненте.Но по некоторым причинам он не загружает userState, поэтому выпадающие списки не работают.Фильтры работают правильно.

Форма XML:

<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">

        <field
                name="filter_search"
                type="text"
                label="COM_BANNERS_SEARCH_IN_TITLE"
                hint="JSEARCH_FILTER"
                class="js-stools-search-string"
        />

    </fields>

    <fields name="list">

        <field name="type" default="0" type="list" onchange="this.form.submit();" label="COM_RDAUTOS_CATEGORY_TYPE">
            <option value="0">COM_RAUTOS_PLS_SELECT</option>
            <option value="1">COM_RDAUTOS_VEHICLES</option>
            <option value="2">COM_RDAUTOS_PARTS</option>
        </field>

        <field name="state" default="0" type="list" onchange="this.form.submit();" label="COM_RAUTOS_PLS_SELECT">
            <option value="0">COM_RAUTOS_PLS_SELECT</option>
            <option value="1">COM_RAUTOS_UNPUBLISHED</option>
            <option value="2">COM_RAUTOS_PUBLISHED</option>
        </field>

    </fields>
</form>

Я добавил это в свой файл view.html.php:

// Joomla Core functionality for filtering
$this->state               = $this->get('State');
$this->filterForm          = $this->get('FilterForm');
$this->activeFilters       = $this->get('ActiveFilters');

Я добавил это к модели:

function __construct($config = [])
{
    if (empty($config['filter_fields']))
    {
        $config['filter_fields'] = [
            'state',
            'type',
        ];
    }

    parent::__construct($config);

}

И это для запроса переменных:

$state  = $this->getState('list.state');
$type   = $this->getState('list.type');
$search = $this->getState('filter.filter_search');

default.php

echo JLayoutHelper::render('joomla.searchtools.default', ['view' => $this]);

После того, как я выбрал значение на панели инструментов поиска, он выполняет фильтрацию и все работает, но выбранное значение не выбирается в полях выбора.Поэтому мы не знаем, что было отфильтровано.

Кто-нибудь может знать решение?

1 Ответ

0 голосов
/ 17 сентября 2018

Проблема здесь заключается в state имени вашего поля фильтра. Модель уже имеет переменную с именем state. Я предполагаю, что если вы измените состояние имени на что-то другое, например status, все должно работать как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...