امروز:سه شنبه ,۱۳۹۸/۰۷/۲۳
Download http://bigtheme.net/joomla Free Templates Joomla! 3
Home / Laravel / کار با قالب layout در لاراول

کار با قالب layout در لاراول

کار با قالب (layout) در لاراول

همانطور که در آموزش “نحوه ی نمایش view به وسیله controller ” دید ، نمایش اطلاعات بدون قالب خاصی بود.
البته ما می توانستیم به وسیله ی یک سری تگ های html کمی ظاهر سایت را تغییر دهیم.
در این قسمت اندکی با دستورات blade در لاراول آشنا میشیم
سپس برای پروژه ی خود یک قالب تعریف می کنیم که در سایر صفحات و view های ما نمایش داده شود.

Blade یک موتور ساده و در عین حال قدرتمند ایجاد قالب است که همراه لاراول ارائه می شود.
تمامی قالبهای Blade باید از پسوند blade.php. استفاده کنند. (نکته ای که قبلا گفته شده است).
منبع http://larabook.ir

بهترین ویژگی Blade این است که از یک طرح (layout) برای همه صفحات وب برنامه می شود استفاده کرد.
به عنوان مثال، می توانید یک منو اصلی در یک layout مادر ایجاد کنید و از آن برای تمام صفحات خود استفاده کنید.
منبع http://baboon.ir

برای ایجاد قالب مادرمون (masterpage) ابتدا باید فولدر layouts را ایجاد کنیم.کجا؟
مثل نمایش view ها این فولدر هم در فولدر views واقع در فولدر resources ایجاد می شود.
در مرحله بعد فایل master.blade.php ایجاد می کنیم.
همانند سایر قالب ها در این فایل کد های html را قرار می دهیم .

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
</body>
</html>

تا اینجا که کار خاصی نکردیم و فقط تگ های html قرار دادیم.
مرحله بعدی قرار دادن placeholder هست.
placehoder به چه معناست؟
خیلی ساده شما محلی را در قالب مشخص می کنید که این محل ، محل نمایش محتوای سایر ویو ها است.
برای ایجاد placeholder به روش های زیر می توانیم عمل کنیم:
در مثال بالا ما می خواهیم در تگ p یک placeholder ایجاد کنیم. تا اطلاعات سایر صفحات در آن نمایش داده شود :
فایل master.blade.php را با کد های زیر تغییر میدهیم:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1> @yield('title')</h1>
<p> @yield('content')</p>
</body>
</html>

با استفاده از @yield ما placeholder ایجاد کردیم. محتوای داخل پرانتز نام placeholder ماست که با استفاده از آن در ویو ها به آن دسترسی پیدا می کنیم.
حالا در فایل index.blade.php که قبلا تعریف کردیم از این مسترپیج masterpage استفاده می کنیم و محتوای خود را نمایش می دهیم
فایل index.blade.php واقع در resources/views/article را با کد های زیر تکمیل می کنیم

@extends('layouts.master')

@section('title')
golaravel.ir
@stop


@section('content')
آموزش فریم ورک laravel
@stop

/***********************/
با استفاده از @extends(‘layouts.master’) قالب خود را صدا زدیم

با استفاده از 
@section('title')
golaravel.ir
@stop

در تگ h1 خود متن” golaravel.ir “را قرار دادیم

و با استفاده از 
@section('content')
آموزش فریم ورک laravel
@stop

در تگ p متن ” آموزش فریم ورک laravel ” را قرار دادیم

Check Also

pluck و کاربرد آن در لاراول

pluck  و کاربرد آن در لاراول بار ها اتفاق افتاده که شما برای کوئری زدن …

۲ comments

  1. با سلام من یک سئوالی داشتم من بابا blade و master page
    من ui سایت فروشگاهی دیجی کالا رو کار کردم، و خب در صفخات مختلف section های مختلف وجود داره، و مشکل برای ساختن یک master به این شکله که من در صفحات متعدد از از id و کلاس های مشابه استفاده کردم، وحالا وقتی چندیدن پیج رو داخل master کار می کنم و از دستور yield استفاده می کنم در بعضی از صفحات که احتیاجی به section مربوطه ندارم برام یه بلاک خالی از اون id و یا class می سازه.
    خواستم ببینم اگر من در قسمت ویو فولدر بندی که می کنم قطعات کدهای محتلف رو مثلا” اسلایدر و …. یه ایندکس دیگه بسازم و در صفحه ی مورد نظرم include کنم روش صحیحی هست و یا نه فقط باید از yield استفاده کنم؟
    با تشکر

    • سلام
      ممنون از ارسال پیامتون

      با include تست کردید؟ مشکلی برطرف میشه؟
      منظور از id و class بخش css هاتون هست؟
      اگر این طور باشه , بهتره که id و css های منحصر بفرد unique بدید.
      در هر صفحه css هاتون کجا قرار داره ؟داخل همون فایل هست ؟

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *