block در yii –

block در yii

یکی از مباحثی که در yii1  استفاده میکردیم استفاده از clip  بود

در yii2  این قابلیت در ویجت block  قرار داده شده

فهوم کلی به این صورت است که شما برخی مطالب یا برخی اسکریپت ها را فقط در صفحات خاصی  نیاز به استفاده دارین

مثلا برای استفاده از اسکریپت های اسلایدرتون  فقط آن هارا توی صفحه اصلی سایت نیاز دارین

به همین دلیل میخواین که این اسکریپتها فقط در این صفحه لود بشه و در سایر صفحات لود نشه و سرعت سایتتون را پایین نیاورد.

استفاده از ویجت block

جهت استفاده به این صورت عمل می کنیم:
برای مثال ما اسکریپتی اسلایدر خود را میخواهیم فقط در ویوی صفحه اصلی لود شود
برای اینکار ابتدا در layout مد زیر را قرار می دهیم

 
block in yii2

if (isset($this->blocks['js'])) { 
    echo $this->blocks['js']; 
} 

سپس در ویو صفحه اصلی
کد زیر را قرار می دهیم

 <?php $this->beginBlock('js') ?>
 <?php $this->registerJsFile('/scripts/js/owl.carousel.min.js'
, ['position' => View::POS_END]); ?>
<?php $this->endBlock() ?>

تا زمانی که ما در ویو block خود را صدا نزدیم این اسکریپت در layout لود نخواهد شد

block in yii2

Leave a Reply

Your email address will not be published. Required fields are marked *