قالب پویا در blade laravel

۲۳ شهریور ۱۳۹۶

قالب پویا در blade laravel

ما برای اینکه برای صفحات خود بصورت هوشمند قالب انتخاب کنیم با یک سری معادلات هوشمند و با استفاده view exists می توانید بصورت هوشمندانه و سیستمی قالب برای صفحات خود انتخاب کنید. ابتدا در view یک دایرکتوری به نام pages اضافه می کنیم. سپس کدهای خود را در routes.php ایجاد می کنیم:

    
        Route::get({page},function($slug){
            $page=App\Page::findBySlug($slug);
            if($page->slug=='about-us'){
                return view('about-us',compact('page'));
            }
            if($page->slug=='contact-us'){
                return view('contact-us',compact('page'));
            }

            return view('default-page',compact('page'));

        });
    

حالا کد بالا را بهینه می کنیم. با کد زیر تا بینهایت قالب را بصورت داینامیک می توانیم اضافه کنیم:

    
        Route::get({page},function($slug){
            $page=App\Page::findBySlug($slug);
            if(view()->exists("pages/{$page->slug}"){
                return view("pages/{$page->slug}",compact('page'));
            }
            return view('default-page',compact('page'));
        });
    

حالا باز هم کد خود را بهینه می کنیم:

    
        Route::get({page},function($slug){
            $page=App\Page::findBySlug($slug);
            $view="pages/{$page->slug}";
            if(view()->exists($view){
                return view($view,compact('page'));
            }
            return view('default-page',compact('page'));
        });
    

باز هم بهینه می کنیم:

    
        Route::get({page},function($slug){
            $page=App\Page::findBySlug($slug);
            $view="pages/{$page->slug}";
            if(!view()->exists($view){
                $view='default-page';
            }
            return view($view,compact('page'));
        });
    

حالا با لاراول 5.5 این کار را انجام می دهیم:

    
        Route::get({page},function($slug){
        $page=App\Page::findBySlug($slug);
            view()->first([
                "pages/{$page->slug}",
                "default-page"
            ],compact('page'))
        });
    

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(518)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}