رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از renderpartial برای قرار دادن یک layout در داخل یک layout دیگه (حل شد)
#1
سلام استاد

میشه از renderPartial برای قرار دادن یک layout در داخل یک layout دیگه استفاده کرد؟

منظورم مثل روشیه که از form_ برای فرمهای ایجاد و ویرایش دسته بندی استفاده کردید هست.

متشکرم.
پاسخ
تشکر شده توسط:
#2
نه نمیشه. برای فراخوانی یک layout داخل layout دیگه باید از متدهای beginContent و endContent کنترلر استفاده کنید. فرض کنید layout شما اینطور تنظیم شده:

public $layout = '/layouts/index';

حالا توی این layout میخواین هرچی خروجی ویو هست رو توی یک div با id برابر با container بگذارین و خروجی رو دوباره برای layout دیگه (مثلاً main) بفرستین:

$this->beginContent('/layouts/main');
<div id="container">
<?php echo $content; ?>
</div>
<?php $this->endContent(); ?>

حالا توی layout اصلی (یعنی main) اگه content$ رو echo کنید، میبینید که محتوای view داخل div قرار گرفته و در مکان موردنظر درج شده.
پاسخ
تشکر شده توسط: abdollah110110
#3
محتوای content$ چیا هستن؟ همون ویوهایی هستن که برای کنترلر ایجاد کرده ایم؟
پاسخ
تشکر شده توسط:
#4
بله. وقتی متد render رو صدا میزنید، محتوای اون بعد از پردازش توی متغیر content$ قرار میگیره و تحویل layout که توی کنترلر مشخص کردین داده میشه. اون layout هم اگه بخواد خروجی خودش رو باز تحویل layout دیگه ای بده، باید با کمک متدهای beginContent و endContent به شکلی که گفتم، اینکار رو انجام بده.
پاسخ
تشکر شده توسط: abdollah110110




کاربران در حال بازدید این موضوع: 1 مهمان