پویا واقفی
2 سال پیش توسط پویا واقفی مطرح شد
4 پاسخ

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

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

من یک فایل 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 رو نشون نمیده!

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


ثبت پرسش جدید
رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 2 سال پیش مطرح شد
0

درود خوبی...
کد زیر در فایل 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 2 سال پیش مطرح شد
0

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 2 سال پیش مطرح شد
0

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

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

//child.blade.php
@section('scripts')
    @parent
    <!-- The rest of your scripts -->
@endsection

پویا واقفی
تخصص : برنامه نویسی سرورساید
@vagefipouya 2 سال پیش مطرح شد
0

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


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

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