Использование переменных массива в фильтре страниц - PullRequest
0 голосов
/ 27 сентября 2018

Это код

<a href="{{ 'questions' | page({Filter[search] : 1}) }}">{{category.name}}</a>

Он должен генерировать URL-адрес, например

http://localhost/vos-questions?Filter[search]=1&Filter[categories]=3&Filter[sort]=published_at+desc

, но не работает!если я попытаюсь использовать 'Filter[search]' : 1, URL будет сгенерирован, но без параметров фильтра.

Страница назначения («вопросы») определяется с помощью параметра: page, параметры фильтра не определяются.

title = "questions"
url = "/vos-questions/:page?"

Что я делаю не так?

1 Ответ

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

хмм, это не сработает

ваш URL-адрес выглядит так url = "/vos-questions/:page?", поэтому page должен быть аргументом, и он будет выглядеть так

/vos-questions/test => now in code `page` param's value will be `test`

, если вам действительно нужноэтот URL, тогда есть лучшее решение.

// question page 
title = "questions"
url = "/vos-questions" <- we remove param here as we pass it manually


// now html code
<a href="{{'questions'|page }}?Filter[search]=1&Filter[categories]=3&
                    Filter[sort]=published_at+desc">{{category.name}}</a>

он должен работать, как и ожидалось, он будет генерировать URL, как это

http://localhost/vos-questions/?Filter[search]=1&Filter[categories]=3&Filter[sort]=published_at+desc

иесли вы хотите передать динамические значения, вы также можете сделать это

// suppose $search = 2 in code and $cat = 30

<a href="{{'questions'|page }}?Filter[search]={{ search }}
                          &Filter[categories]={{ cat }}
                    &Filter[sort]=published_at+desc">{{category.name}}</a>

, поэтому сгенерированный URL будет

http://localhost/vos-questions/?Filter[search]=2&Filter[categories]=30&Filter[sort]=published_at+desc

сейчас вкод, вы можете получить эти значения, используя Input

https://octobercms.com/docs/services/request-input

$filter = \Input::get('Filter');
echo $filter['categories']; // => 30

если есть сомнения, пожалуйста, прокомментируйте.

...