رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دسترسی به مقادیر در VIEW های فرعی
#1
برای view های فرعی هم تو کنترلر باید متدی بنویسم که اطلاعات رودسترسی داشته باشم یا روشی هست که بهشون دسترسی داشته باشم؟؟
مثلا اسلایدر که میخوام باای صفحه اخبار نمایش داده بشه و فایل view جداگانه ای داره

سوالم مربوط به درس فریم ورک mvc هست
مرسی
پاسخ
تشکر شده توسط:
#2
منظورتون رو متوجه نشدم ولی کلاً تمام ویوها به فیلدهای تعریف شده توی کنترلر دسترسی دارن.
پاسخ
تشکر شده توسط: sm_pakdel
#3
(10-03-1394، 12:31 ق.ظ)ADMIN نوشته: منظورتون رو متوجه نشدم ولی کلاً تمام ویوها به فیلدهای تعریف شده توی کنترلر دسترسی دارن.

این صفحه صفحه اخباره و اخبار رو از اکشن index با متد findAll  مفرستم به این صفحه 

سمت چپ صفحه که ارور داده فایل _sidebar هست که با متد renderpartial   میخوام اونج گوشه نمایشش بدم اما ارور میده اگر به عنوان یه view  مستقل صداش کنم مشکلی نیست 
اما اگر بخوام داخل یه view  دیگه نمایشش بدم ارایه ای که از کنترلر فرستادم رو نمی شناسه 
این کد ویو اصلی اخبار:


<?php $config = Loader::load('Configs'); ?>
<div id="newsBox">
<?php 
foreach($data as $news){

	echo '<div class="showNews">';
	echo '<span id="title"><a href="'.$config->baseUrl.'news/show/id/'.$news->id.'">'.$news->title.'</a></span>';
	echo '<span id="body">'.$news->body.'</span>';
	echo '<span id="pic"><img src="'.$config->baseUrl.'app/assets/images/'.$news->pic.'" alt="'.$news->title.'"></span>';
	echo '<span>'.$news->date.'</td>';
	echo '</div>';
	
	
	
	
}?>
</div>
<?php 
$this->renderPartial('_sidebar');
?>
 
اینم کد ویو _sidebar
<?php $config = Loader::load('Configs')?>
<div class="sidebar papularnews">
<?php
	foreach ($test as $data){
		echo $data->id;
	}
?>
</div>


فایل‌های پیوست تصاویر بندانگشتی
   
پاسخ
تشکر شده توسط:
#4
دوستان کسی نمی دونه مشکل از کجاس و چطور تو ویوهای فرعی به متغییر هام دسترسی داشته باشم؟
پاسخ
تشکر شده توسط:
#5
باید متغیرها رو برای ویویی که با renderPartial صدا میزنید هم پاس بدین.
پاسخ
تشکر شده توسط: sm_pakdel
#6
(10-03-1394، 12:49 ب.ظ)ADMIN نوشته: باید متغیرها رو برای ویویی که با renderPartial صدا میزنید هم پاس بدین.

این کد کلاس اخبار
class newsController extends controller {
	public function actionIndex(){
		$values = news::findAll();
		$this->render('index', array('data'=> $values));
	}
	
	public function actionshow($args){
		$values = news::findByPk($args['id']);
		if(count($values) > 0){
			$this->render('shownews',array('data'=>$values));
		}else{
			throw new Exception("This Id is Invalid");
		}
	}
	public function actionPic(){
		$values = news::findAll();
		$this->render('_sidebar', array('test'=> $values));
	}
}
پاسخ
تشکر شده توسط:
#7
توی خود view جایی که renderPartial رو صدا زدین منظورمه.
پاسخ
تشکر شده توسط: sm_pakdel
#8
(10-03-1394، 12:59 ب.ظ)ADMIN نوشته: توی خود view جایی که renderPartial رو صدا زدین منظورمه.

چیزی که فهمیدمو مینویسم تموم شدببینید درست فهمیدم یا نه
مرسی از راهنمائیتون
پاسخ
تشکر شده توسط:




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