php - Pjax and Laravel routes -
currently integrating jquery pjax, best explain. have working inside first view when accessing url address directly address bar view without @extends('layout.main').
here setup:
routes, 1 route retailers.index view , other parameter , retailers.stores view.
route::get('retailers', array( 'as' => 'retailers', 'uses' => 'sitecontroller@retailers')); route::get('retailers/{city}', array( 'as' => 'find-retailers', 'uses' => 'sitecontroller@getretailers')); controllers:
public function retailers() { $listings = db::table('retailers_listings') ->orderby('counter', 'desc') ->groupby('country') ->get(); return view::make('retailers.index') ->with('retailers_listings', $listings) } public function getretailers($city) { $locations = db::table('retailers_listings') ->orderby('country', 'asc') ->where('city', $city) ->get(); return view::make('retailers.stores') ->with('retailers_listings', $locations); } href pjax , url route retailers.stores view - using find-retailers
<a data-pjax href="{{ url::route('find-retailers', array('city' => $string)) }}"> {{ $string }} </a> inline js
$(document).pjax('[data-pjax] a, a[data-pjax]', '#pjax-container') if loading /retailers (index) works , if press link load store.retailers view inside <div id="pjax-container"></div> , url change retailers/{country}. if load url address bar directly load view without @extends('layout.main'), not call in retailers.stores view because load retailers.stores in pjax.
basically works, not when loading directly address bar.
laravel has no idea you're using pjax.
you should include @extends('layout.main') in each route. in order work pjax, should make layout.main spit out site layout if request::ajax() false.
Comments
Post a Comment