Skip to main content

Send variable to all blades using composer view

Reference:
https://www.qcode.in/use-laravel-view-composer-to-share-data-in-partial-views/

Steps1 :inside app/Http , create ViewComposers.php

inside ViewComposers.php

<?php
namespace App\Http\ViewComposers;

use App\Nav;

class NavComposer
{

public function compose($view)
{
// dd("ds");
$x="hello baby";
$view->with('x', $x);
}
}

Now
step 2:
php artisan make:provider ComposerServiceProvider

step 3:
inside config - app.php

inside providers:
'providers' => [
    ...
    App\Providers\ComposerServiceProvider::class,
]
ComposerServiceProvider:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\View;
use App\News;

class ComposerServiceProvider extends ServiceProvider
{

public function boot()
{
// this redirect to view composers navcomposer function : this is one way

// View::composer(
// '*', 'App\Http\ViewComposers\NavComposer'
// );

//this is next way from where we send data directly
View::composer('*', function ($view) {
$x=News::orderBy('id','desc')->get();
$y="second data";
$view->with('x',$x)->with('y',$y);
});

}


public function register()
{
//
}
}

Now inside blade:

@foreach ($x as $item)

<div class="item">

{{$item->title}}

</a>
</div>

@endforeach
<h1>{{$y}}</h1>




Comments

Popular posts from this blog

Integration of adminlte admin pannel in laravel 6 adn above

Create new laravel project : laravel new projectname --auth Steps to integrate admin pannel i.e. adminlte 1.  composer require jeroennoten/laravel-adminlte 2.  php artisan adminlte:install 3.  php artisan adminlte:install --only=auth_views 4. php artisan vendor:publish --provider="JeroenNoten\LaravelAdminLte\AdminLteServiceProvider" --tag=views Filemanager: https://unisharp.github.io/laravel-filemanager/installation 1.  composer require unisharp/laravel-filemanager:~1.8 php artisan vendor:publish --tag = lfm_config php artisan vendor:publish --tag = lfm_public 3.  php artisan route:clear php artisan config:clear you will get a problem regarding file relode after upload and to solve do this fix it on vendor\unisharp\laravel-filemanager\src\Controllers\UploadController.php replace line 60 return count($this->errors) > 0 ? $this->errors : parent::$success_response; by return count($this->errors) > 0 ? ...

laravel file manager sorting by time default

Ref :  https://github.com/UniSharp/laravel-filemanager/issues/337 To load files order by "time DESC" you can change the code in vendor/unisharp/laravel-filemanager/src/traits/LfmHelpers.php public function sortFilesAndDirectories($arr_items, $sort_type) { if ($sort_type == 'time') { $key_to_sort = 'updated'; } elseif ($sort_type == 'alphabetic') { $key_to_sort = 'name'; } else { $key_to_sort = 'updated'; } return strcmp($a->{$key_to_sort}, $b->{$key_to_sort}); }); return $arr_items; } with public function sortFilesAndDirectories($arr_items, $sort_type) { if ($sort_type == 'time') { $key_to_sort = 'updated'; } elseif ($sort_type == 'alphabetic') { $key_to_sort = 'name'; } else { $key_to_sort = 'updated'; ...

Convert Html PAge to PDF using Canvas

Link :https://www.quora.com/How-we-export-html-page-as-pdf-using-pure-javascript app.js ( function (){ var form = $ ( '. printme ' ), cache_width = form . width (), a4 =[ 595.28 , 841.89 ]; // for a4 size paper width and height $ ( '#create_pdf' ). on ( 'click' , function (){ $ ( 'body' ). scrollTop ( 0 ); createPDF (); }); //create pdf function createPDF (){ getCanvas (). then ( function (canvas){ var img = canvas. toDataURL ( "image/png" ), doc = new jsPDF ({ unit : 'px' , format : 'a4' }); doc . addImage ( img , 'JPEG' , 20 , 20 ); doc . save ( 'FinalPrint.pdf' ); form . width ( cache_width ); }); } // create canvas object function getCanvas (){ form . width (( a4 [ 0 ]* 1.33333 ) ...