راکت

نحوه استفاده push و component همراه با هم در یک فایل Blade

4 پاسخ

سلام دوستان...

من یک فایل all.blade.php دارم که بدین صورته:

@component('admin.layouts.content' , ['title' => 'example file'])
   @slot('breadcrumb')
    <li class="breadcrumb-item active">Example File</li>
   @endslot
   ...
@endcomponent

@push('scripts')
<script>
    Swal.fire({
        title: 'Do you want to save the changes?',
        showDenyButton: true,
        showCancelButton: true,
        confirmButtonText: 'Save',
        denyButtonText: `Don't save`,
    }).then((result) => {
        /* Read more about isConfirmed, isDenied below */
        if (result.isConfirmed) {
            Swal.fire('Saved!', '', 'success')
        } else if (result.isDenied) {
            Swal.fire('Changes are not saved', '', 'info')
        }
    })
</script>
@endpush

همانطور که دیدید دارای یک کامپوننت هست که در فایل content.blade.php فراخوانی میشه و این فایل هم حاوی این محتویات هست:

@extends('admin.master')

@section('content')
   {{ $slot }}
@endsection

این هم master.blade.php:

<!DOCTYPE html>
  <html>
 <head>
    ...
    @stack('scripts')
 </head>
 <body>
    @yield('content')
 </body>
   </html>

اما مشکل اینجاست که push@ خوانده نمیشه در فایل all.blade.php و در واقع پیغام sweet alert رو نشون نمیده!

ممنون میشم راهنمایی بفرمایید که مشکل کجاست و چجوری میشه حلش کرد.

ثبت پرسش جدید

پاسخ‌ها

4
رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

درود خوبی...
کد زیر در فایل app.js قرار بده.

Swal.fire({

        title: 'Do you want to save the changes?',

        showDenyButton: true,

        showCancelButton: true,

        confirmButtonText: 'Save',

        denyButtonText: `Don't save`,

    }).then((result) => {

        /* Read more about isConfirmed, isDenied below */

        if (result.isConfirmed) {

            Swal.fire('Saved!', '', 'success')

        } else if (result.isDenied) {

            Swal.fire('Changes are not saved', '', 'info')

        }

    })

با قرار گیری در app.js در تمام صفحات اعمال میشه...

پویا واقفی
پویا واقفی
@vagefipouya

تخصص: برنامه نویسی سرورساید

endworld@ ممنون از جوابتون اما من نمیخوام کد جاوا اسکرپیتم توی همه فایل ها خوانده بشه! در واقع فقط مربوط به فایل all.blade.php هست و نیازی نیست همه جا باشه!

شاید پاسخ شما همین‌جا باشد

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

@vagefipouya
از روش زیر عمل کنید:

//index.blade.php
@yield('scripts')

//child.blade.php
@section('scripts')
    @parent
    <!-- The rest of your scripts -->
@endsection
پویا واقفی
پویا واقفی
@vagefipouya

تخصص: برنامه نویسی سرورساید

endworld@ خب الان فایل child همون all.blade.php هست که پیغام رو نمیخونه. از section@ هم استفاده کردم به جای push@ ولی بازم کار نکرد. در صورتیکه اگر همین کد رو داخل content.blade.php بزارم کار میکنه!

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام