تکنولوژی نوین اینترنتی
در Blade، که موتور قالب لاراول است، شما میتوانید با استفاده از layouts و sections ساختار صفحات وب خود را به راحتی مدیریت کنید. این امکان به شما اجازه میدهد که کدهای مشترک مانند هدر، فوتر و نوار کناری را در یک فایل جداگانه قرار داده و سپس در صفحات مختلف خود از آنها استفاده کنید.
در این مقاله، نحوه استفاده از layouts و sections در Blade را توضیح خواهیم داد.
Layouts در Blade به شما این امکان را میدهند که یک ساختار کلی برای صفحات خود ایجاد کنید و سپس صفحات خاص را با محتوای ویژه پر کنید.
ایجاد Layout اولیه:
ابتدا باید یک فایل layout (طرح) اصلی برای صفحات خود ایجاد کنید. معمولاً این فایلها در پوشه resources/views/layouts
ذخیره میشوند. به عنوان مثال، فایل app.blade.php
را میتوان به عنوان layout اصلی در نظر گرفت.
در این فایل، میتوانید ساختار اصلی صفحه مانند هدر، فوتر و نوار کناری را قرار دهید:
در اینجا، @yield('title')
و @yield('content')
به شما این امکان را میدهند که بخشهایی از محتوا را در صفحات مختلف به صورت پویا پر کنید.
استفاده از Layout در صفحات مختلف:
حالا که یک layout ایجاد کردهاید، میتوانید در صفحات خود از آن استفاده کنید. برای این کار، از دستور @extends
استفاده میکنید تا به Blade بگویید که این صفحه از یک layout خاص استفاده کند.
به عنوان مثال، در صفحه home.blade.php
:
در اینجا:
@extends('layouts.app')
به Blade میگوید که از layout app.blade.php
استفاده کند.
@section('title')
و @section('content')
برای پر کردن بخشهای مربوطه در layout اصلی هستند.
Sections به شما این امکان را میدهند که قسمتهای مختلف یک صفحه را به صورت پویا پر کنید. شما میتوانید از دستور @section
برای تعریف محتوای خاص استفاده کنید و سپس با استفاده از @yield
آن را در layout فراخوانی کنید.
تعریف Section:
در layout خود، باید قسمتهایی که میخواهید در صفحات مختلف تغییر کنند را با @yield
مشخص کنید. در صفحه app.blade.php
، بخشهایی مانند title
و content
با @yield
مشخص شدهاند.
تعریف بخشها در صفحات مختلف:
برای پر کردن بخشهای مختلف در صفحات خود، شما باید از دستور @section
استفاده کنید. به عنوان مثال:
@section('title', 'Home Page')
برای تعیین عنوان صفحه است.
@section('content')
محتوای اصلی صفحه را تعریف میکند.
با استفاده از ترکیب @yield
و @section
، شما میتوانید یک ساختار عمومی برای سایت خود ایجاد کرده و بخشهای خاص آن را در صفحات مختلف مدیریت کنید.
چندین Section در یک Layout:
شما میتوانید چندین بخش مختلف را در یک layout تعریف کنید. به عنوان مثال، یک بخش برای header
و یک بخش دیگر برای footer
:
سپس در صفحات مختلف میتوانید این بخشها را پر کنید:
استفاده از @include
برای اجزای مشترک:
اگر بخواهید یک بخش از کد را در چندین layout یا صفحه استفاده کنید، میتوانید از @include
استفاده کنید. به عنوان مثال، یک بخش هدر را بهطور جداگانه در یک فایل قرار داده و آن را در صفحات مختلف گنجانده میشود.
سپس در فایل layout یا صفحه خود میتوانید از آن استفاده کنید:
اگر نیاز دارید که کدهایی را در مکانهای خاصی از صفحه قرار دهید (مانند اضافه کردن اسکریپتهای JS در انتهای صفحه)، میتوانید از Stacks استفاده کنید.
تعریف Stack در Layout:
ابتدا یک stack در layout تعریف کنید:
استفاده از Stack در صفحات:
سپس در صفحات خود میتوانید با استفاده از @push
اسکریپتها یا استایلها را به stack اضافه کنید:
با استفاده از Layouts و Sections در Blade، شما میتوانید ساختار صفحات وب خود را بهطور مؤثری مدیریت کنید. این ابزار به شما کمک میکند تا کدهای مشترک مانند هدر، فوتر، و نوار کناری را در یک فایل جداگانه قرار داده و در صفحات مختلف از آنها استفاده کنید، که این کار باعث بهینهسازی و کاهش تکرار کد میشود. همچنین با استفاده از Stacks میتوانید اسکریپتها و استایلها را به راحتی مدیریت کنید.