при загрузке фильтрация происходила сразу по первому тегу? function onStart(){
$this['news'] = NewItem::get();
$this['globalTags'] = Tag::all();
$this->prepareVars();
}
function onFilterProducts() {
$this->prepareVars();
}
function prepareVars() {
$this['news'] = NewItem::filter((array) post('Filter'))->get()->all();
$this['tags'] = Tag::pluck('id', 'name')->all();
}
помоему это редиректом можно сделать {% if tag is empty %} {% do redirect('your-tag'|page({ slug: 'your-slug' }), 301) %}
спасибо, но нашел другое решение, вдруг кому-то понадобится function onStart(){ $this['news'] = NewItem::get(); $this['globalTags'] = Tag::all(); $tagIds = []; $firstTag = Tag::first(); if ($firstTag) { $tagIds[] = $firstTag->id; } $this['news'] = NewItem::filter(['tags' => $tagIds])->get(); } function onFilterProducts() { $this->prepareVars(); } function prepareVars() { $this['news'] = NewItem::filter((array) post('Filter'))->get()->all(); $this['tags'] = Tag::pluck('id', 'name')->all(); }
Обсуждают сегодня