تالار گفتمان nCIS.ir

نسخه‌ی کامل: دسترسی به مقادیر در VIEW های فرعی
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
برای view های فرعی هم تو کنترلر باید متدی بنویسم که اطلاعات رودسترسی داشته باشم یا روشی هست که بهشون دسترسی داشته باشم؟؟
مثلا اسلایدر که میخوام باای صفحه اخبار نمایش داده بشه و فایل view جداگانه ای داره

سوالم مربوط به درس فریم ورک mvc هست
مرسی
منظورتون رو متوجه نشدم ولی کلاً تمام ویوها به فیلدهای تعریف شده توی کنترلر دسترسی دارن.
(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>
دوستان کسی نمی دونه مشکل از کجاس و چطور تو ویوهای فرعی به متغییر هام دسترسی داشته باشم؟
باید متغیرها رو برای ویویی که با renderPartial صدا میزنید هم پاس بدین.
(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));
	}
}
توی خود view جایی که renderPartial رو صدا زدین منظورمه.
(10-03-1394، 12:59 ب.ظ)ADMIN نوشته: [ -> ]توی خود view جایی که renderPartial رو صدا زدین منظورمه.

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