0

私が取り組んでいるサイトで、ビューのレンダリングに問題があります。Web サイトの製品リスト ページには、「並べ替え」という小さな要素があります。ユーザーがオプションの 1 つを選択すると、並べ替えられた商品で商品ページを再読み込みするか、並べ替えられた商品で別の URL に同じビューを読み込む必要があります。どちらでもいいので、注文した商品を表示させたいだけです。私の中で製品をソートすることProductsControllerはうまくいっていますが、これらのソートされた製品をフロントエンドに渡したいときに問題が発生し続けます。以下のコードで返されるビューは、商品リスト ページの通常のビューと同じです。参考までに: 私は Laravel に比較的慣れておらず、主に JavaScript を使用していたので、Laravel 以外の非常にばかげた方法でこれを実行しようとしている可能性があります。

理想的には、並べ替えられた製品を製品リスト ページの Blade ファイルに渡したいだけです。試してみましたが、リロードをトリガーする方法がわかりません。次に試したのは、ユーザーを新しいルート (web.php に登録したもの) に誘導することです。そこでは、同じ Products ビューをレンダリングする予定でしたが、データは並べ替えられています。これもうまくいかず、あいまいな jQuery エラー メッセージが表示された空白のページが表示されました。

ProductsController.php で:

public function sortController($type) {

        $available_products = Products::with(['gallery', 'slug'])->get()
        ->where('status', 'available');

        $number_of_products = count($available_products);

        $product_names_sorted_by_type 
            = $this->orderProductTitlesBasedOnNumber($number_of_products, $available_products, $type);

        $sorted_products_array = $this->orderProductsBasedOnSortedArray($number_of_products, $available_products, $product_names_sorted_by_type);

        $product_brands_controller = new ProductsBrandsController;
        $brands_list = $product_brands_controller->getBrandNamesArray();

        return view('aanbod')->with([
            'title' => 'Ons aanbod',
            'products' => $sorted_products_array,
            'brands' => $brands_list
        ]);
    }

私のApp.jsでは:

function handleSortRequest(sortRequest) {

    sortURL = window.location.origin + '/autos/list/sort?q=' + sortRequest

    location.href = sortURL  

}

私のWeb.phpで:

Route::group(['prefix' => config('site.products.url'), 'as' => 'products.'], function () {
// some other routes...
Route::get('/list/sort/{sort_request}', 'ProductsController@handleSortRequest')->name('sort');
});

とにかく、これは機能しておらず、何もレンダリングされていません。「TypeError: a is undefined - javascript:2771」というエラーが表示された空白のページが表示されます。このエラーは、PHPDebugbar が使用する jQuery ファイルで発生するようです。

これがあまりテキストではないことを願っています。事前に感謝します。Laravel コードを改善する方法を教えてください。

4

1 に答える 1