Her control dosyan için script ayrıysa, ilgili controllerin view içerisinden @include() etmeme sebebin nedir?
Bu sorudan sonra aşağıdaki kodu şu şekil de denedin mi?
View::make()->render(); ilgili view i string olarak döndürür
Ayrıca senin View::make fonksiyonuna gönderdiğin "deneme" isimli ilk parametreyi
LARAVEL, VIEW klasörü altında DENEME.BLADE.PHP dosyası olarak arar. Dosya varsa bu uyarıyı es geç. Eğer deneme diye bir blade dosyan mevcut değilse parametre göndermek için diğer iki örneğe bak.
class Deneme extends BaseController{
protected $layout = 'base';
private $footerscript_data = array();
public function index(){
$this->footerscript_data['ad'] = 'samet';
$this->layout->footerscript = View::make('deneme',$this->footerscript_data)->render(); //js kodlarımın bulunduğu sayfa
return View::make('vesayre');
}
}
ayrıca kodu bu kadar dolaştırmana da gerek yok.
class Deneme extends BaseController{
protected $layout = 'base';
public function index() {
$data = array('ad' => 'samet', 'deneme'=> 'bla bla');
return View::make('vesayre',$data);
}
}
şeklinde view e gönderdiğin parametlere, $ad $deneme diyerek isimleri ile erişebilirsin.
{{ $ad }} {{ $deneme }}
ya da
class Deneme extends BaseController{
protected $layout = 'base';
public function index() {
$test_array = array('isim' => 'ali', 'yas' => '23');
$modul = 'users';
return View::make('vesayre',compact('test_array','modul'));
}
}
şeklinde view e gönderdiğin parametreye, view içerisinden $modul ve $test_array['isim'], $test_array['yas'] şeklinde erişebilirsin.
{{ $modul }} {{ $test_array['isim'] }} {{ $test_array['yas'] }}
View e parametre gönderirken çok dolaşmaya gerek yok, bu şekil de gönderebilirsin. Fakat her sayfa için farklı script kullanırken hepsini view içine değil de yine hepsini tümleşik bir js içerisinde toplamanı öneririm, javascript'leri tek bir javascript içerisinde toplarsam değişken isimlerinden çakışma olur çok uğraşmam gerekiyor düzenlemek için zamanım yok diyorsan da,
view/ altına
inc/scripts diye klasör aç her script i isimlendirerek
isim_script.blade.php diye kaydet daha sonra oluşturduğun js leri kullanacak view içinde ilgili bölüme
@include('inc.scripts.ilgili_controller_script') diyerek javascript view'ini include et yine view e parametre geçmekle uğraşma.