رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با url در پروژه ی mvc
#1
سلام .
من دارم پروژه ی mvc رو گسترش میدم تا برای خودم یک cms داشته باشم.

مشکلی که وجود داره اینه :

من یک کلاس کنترلر دارم بنام category که خیلی خلاصه میکنم و اینجا میزارم :
class CategoryController extends Controller{

public function actionEdit(){
		
		$res=$this->db->select();
		$this->_out('category',$res);
	}
public function actionDelete($params=array()){
		  
		 $this->db->update($updatefild,$where);
		 $this->actionEdit();
		 //header("LOCATION:edit");
	}
	
}

وقتی روی منوی مربوطه کلیک میکنم و به اکشن edit میرم لیست تمام دسته ها رو نشون میده .
و url این میشه :category/edit

حالا وقتی در لیست از ابزار delete استفاده میکنم میاد به اکشن actiondelete
و url این میشه : category/delete/id/10

مشکلی که وجود داره اینه : من در اکشن actiondelete گفتم وقتی حذف انجام شد به اکشن edit برگرد .
$this->actionEdit();

ولی url همچنان همون باقی میمونه category/delete/id/10
در صورتی که من انتظار دارم بعد از حذف این باشه : category/edit
از header هم استفاده کردم ولی نتیجه نداد .
ممنون میشم راهنمایی بفرمایید
پاسخ
تشکر شده توسط:
#2
خوب شما باید هدر رو کامل بسازین. مثال:
header('Location: ' . Base::baseUrl() . 'category/edit');
exit('<meta http-equiv="Refresh" content="0; url=' . Base::baseUrl() . 'category/edit" />');
پاسخ
تشکر شده توسط: mary
#3
درصورت نیاز میتونید به کلاس والد Controller یک متد redirect اضافه کنید که controller/action رو میگیره و به شکل فوق، عمل ریدایرکت رو انجام میده تا توی همه کنترلرها و اکشنها با کمک this->redirect$ بهش دسترسی داشته باشین.
پاسخ
تشکر شده توسط: mary




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