Ajax-фильтрация на Silverstripe 4 - PullRequest
0 голосов
/ 27 марта 2019

Мне нужно создать фильтр с помощью текстового поля.Посты разбиты на страницы, и мне нужно позвонить им через ajax.У меня есть шаблон, который будет перезагружаться только после нажатия клавиши Enter.

это код внутри моего PageController.php

public function filter( HTTPRequest $request) {

            $tags = $_REQUEST['TAG'];

            if ($tags) {
                # code...

                $blogpost = BlogPost::get()
                        ->leftJoin('BlogPost_Tags', '"BlogPost"."ID" = "BlogPost_Tags"."BlogPostID"')
                        ->leftJoin('BlogTag', '"BlogPost_Tags"."BlogTagID" = "BlogTag"."ID"')
                        ->where(' "BlogTag"."Title" LIKE \'%'.$tags.'%\' ');

            }


            $pages = new PaginatedList($blogpost, $this->getRequest());
            $pages->setPageLength(5);


             return $this->$pages->renderWith( ['PostSummary'] );

        }

Это код внутри моего JS, выполняющего Ajax

$("#tag_field").on('keyup',function(e){

           if (e.keyCode == 13) {

                var loc = window.location + '/filter/';
                var div = $('.paginated-post').html();

                // showSpinner('.listing-items');
                //console.log( $('#FilterForm_FilterForm_category').val() + " " + $('#FilterForm_FilterForm_trail').val() );
                $.ajax({
                    type: "POST",
                    url: loc,
                    data: {
                        TAG: $('#tag_field').val(),
                        //cost: $('#FilterForm_FilterForm_cost').val(),
                        // OtherID: $('#FilterForm_FilterForm_trail').val()
                    },
                    success: function(html){
                        $('.paginated-post').html(div)
                    }
                });


           }
    });

Любая помощь с благодарностью.Большое вам спасибо

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