برای 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 رو صدا زدین منظورمه.
چیزی که فهمیدمو مینویسم تموم شدببینید درست فهمیدم یا نه
مرسی از راهنمائیتون