при загрузке фильтрация происходила сразу по первому тегу?     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(); }
Обсуждают сегодня