Giriş yapmadınız.

#1 01.12.2018 07:15:07

kartal
Üye
Yer: izmit
Kayıtlı: 01.12.2018
Mesajlar: 5

parçalanmış dosyaya veri gönderme

merhaba
views partials klasörü içerisinde bulunan header.blade dosyasına controller dosyası içerisinden  nasıl veri gönderebilirim.? roll

  public function header() {
        return view('layouts.partials.slide);
    }

bu şekilde denediğim zaman gönderdiğim değişkenler gitmiyor

Klasör yapım
views
partials
--header.blade.php
--main.blade.php
--footer.blade.php

Son düzenleyen kartal (01.12.2018 07:20:51)

Çevrimdışı

#2 01.12.2018 13:47:39

assoft
Üye
Kayıtlı: 09.03.2014
Mesajlar: 54

Yanıt: parçalanmış dosyaya veri gönderme

Mantık hatası yapıyorsunuz. Header'i bir view gibi return etmeye çalışıyorsunuz!

resources/views/layouts/public.blade.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    @include('partials.header')
    yield('content')
    @include('partials.footer')
</body>
</html>

app/http/controllers/PublicController.php:

public function index(){
    $data = 'Hoşgeldiniz';
    return view('public.index', compact('data'));
}

resources/views/public/index.blade.php:

@extends('layouts.public')

@section('content')
<h3 class="message">{{$data}}</h3>
@endsection

routes/web.php:

Route::get('/', '[email protected]')->name('public.index');

Çevrimdışı

#3 02.12.2018 13:50:17

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,623
Website

Yanıt: parçalanmış dosyaya veri gönderme

Controller içerisinde çok kullanmasam da:

view()->composer('partials.header', function ($view) {
    $view->with('key', 'value');
});

Çevrimdışı

#4 03.12.2018 10:43:11

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 445

Yanıt: parçalanmış dosyaya veri gönderme

bu dosya sabittir ve view share ile değişkenler gönderilmeli.Öbür türlü her kontrolcüde aynı değişkenleri yollamak gereksiz yere kontrolcüyü işgal eder.
@mgsmusun verdiği kodu appProvider içinde yazabilirsiniz.


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#5 03.12.2018 23:40:03

kartal
Üye
Yer: izmit
Kayıtlı: 01.12.2018
Mesajlar: 5

Yanıt: parçalanmış dosyaya veri gönderme

mgsmus yazdı:

Controller içerisinde çok kullanmasam da:

view()->composer('partials.header', function ($view) {
    $view->with('key', 'value');
});

merhaba tüm cevaplar için teşekkür ederim fakat kafamı karıştıran bir nokta daha var blade wikisini baktım bulamadım

Klasör yapım
views
partials
--header.blade.php
--main.blade.php
--footer.blade.php
--slider.blade.php

bu şekilde klasörüm var views içerisinde  master isimli dosyadan hepsini çağırıyorum.
@include('layouts.partials.head')
@include('layouts.partials.slide')
@yield('content')
@include('layouts.partials.footer')
@yield('footer')

gibi  ben mesala anasayfada slider gözüküyor ama diğer sayfalarda görünmesin istersem ne yapmalıyım ?
örneğin kategoriler.blade.php diye bir dosya oluşturduk @extends('layouts.master')  koduyla entegre ediyoruz  yukarıdaki tüm dosyaları include ediyor halbuki ben kategori sayfasına girdiğimde sliderin gelmemesi lazım ? umarım anlatabilmiştimdir.

Son düzenleyen kartal (03.12.2018 23:41:47)

Çevrimdışı

#6 05.12.2018 21:20:09

kartal
Üye
Yer: izmit
Kayıtlı: 01.12.2018
Mesajlar: 5

Yanıt: parçalanmış dosyaya veri gönderme

Klasör yapım
views
partials
--header.blade.php
--main.blade.php
--footer.blade.php
--slider.blade.php

bu şekilde klasörüm var views içerisinde  master isimli dosyadan hepsini çağırıyorum.
@include('layouts.partials.head')
@include('layouts.partials.slide')
@yield('content')
@include('layouts.partials.footer')
@yield('footer')

gibi  ben mesala anasayfada slider gözüküyor ama diğer sayfalarda görünmesin istersem ne yapmalıyım ?
örneğin kategoriler.blade.php diye bir dosya oluşturduk @extends('layouts.master')  koduyla entegre ediyoruz  yukarıdaki tüm dosyaları include ediyor halbuki ben kategori sayfasına girdiğimde sliderin gelmemesi lazım ? umarım anlatabilmiştimdir.

Çevrimdışı

#7 06.12.2018 10:35:02

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,623
Website

Yanıt: parçalanmış dosyaya veri gönderme

Ben kendi izlediğim yolu göstereyim:

views/
    layouts/
        base.blade.php
    partials/
        header.blade.php
        footer.blade.php
    index.blade.php
    page.blade.php

base.blade.php:

<html>
...
<body>
    @include('partials.header')
    @yield('content')
    @include('partials.footer')
</body>
</html>

index.blade.php

@extends('layouts.base')

@section('content')
<div id="slider">
    <!-- slider buraya.... -->
</div>

<!-- Diğer ana sayfa içeriği... -->
@endsection

page.blade.php

@extends('layouts.base')

@section('content')
<!-- Sayfa içeriği... -->
@endsection

Çevrimdışı

#8 06.12.2018 10:47:49

sineld
Yönetici
Yer: Bursa
Kayıtlı: 26.12.2012
Mesajlar: 1,474
Website

Yanıt: parçalanmış dosyaya veri gönderme

Ben de Mustafa'nın belirttiği şekilde kullanıyorum.

Çevrimdışı

#9 01.05.2019 18:03:36

kartal
Üye
Yer: izmit
Kayıtlı: 01.12.2018
Mesajlar: 5

Yanıt: parçalanmış dosyaya veri gönderme

mgsmus yazdı:

Ben kendi izlediğim yolu göstereyim:

views/
    layouts/
        base.blade.php
    partials/
        header.blade.php
        footer.blade.php
    index.blade.php
    page.blade.php

base.blade.php:

<html>
...
<body>
    @include('partials.header')
    @yield('content')
    @include('partials.footer')
</body>
</html>

index.blade.php

@extends('layouts.base')

@section('content')
<div id="slider">
    <!-- slider buraya.... -->
</div>

<!-- Diğer ana sayfa içeriği... -->
@endsection

page.blade.php

@extends('layouts.base')

@section('content')
<!-- Sayfa içeriği... -->
@endsection

Merhaba

aynı şekilde uygulayıncada aynı sorunla karşılaşıyorum defalarca  yapınıza baktım ancak bir yerde hata yapıyorum sanırım.

Klasör Yapım  https://prnt.sc/nj5faw
base blade : http://prntscr.com/nj5fue

login : http://prntscr.com/nj5g2u   bu şekilde yaptığım zaman login sayfasına gittiğimde navbar sidabarda geliyor.

Nerede hata yapıyorum.

Son düzenleyen kartal (01.05.2019 18:04:32)

Çevrimdışı

#10 01.05.2019 23:04:11

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,623
Website

Yanıt: parçalanmış dosyaya veri gönderme

Yanlış yapmıyorsunuz, sadece size bu durumda birden fazla base gerekiyor. Çorba yapmaya gerek yok, Auth için ayrı bir temel şablon hazırlayın. Giriş, şifre hatırlatma vs o şablonu kullansın.

views/
    layouts/
        base.blade.php
        auth.blade.php // Burada olsun mesela
    partials/
        header.blade.php
        footer.blade.php
    index.blade.php
    page.blade.php

Çevrimdışı

Forum alt kısmı