مفهوم ارجاع‌دهنده (Referrer) در Yii2

ساخت وبلاگ
ریفرر یا ارجاع‌دهنده، توی وب به صفحه‌ای میگن که یه صفحه دیگه رو درخواست میکنه. برای مثال اگه ازطریق لینکی در صفحه A به صفحه B منتقل بشیم، صفحه A نقش Referer رو در صفحه B داره. از اونجا که این صفحه ازطریق هدرهای HTTP ارسال میشه و براحتی قابل جعل هست، Yii2 از اون برای بازگشت کاربر استفاده نمیکنه. درعوض توی Yii کامپوننت user پارامتری داره به اسم retuUrl که باید اون رو هرزمان میخوایم کاربر رو به یک صفحه بفرستیم، توی همون صفحه مقداردهی کنیم. مثلاً اگه میخوایم کاربر بعد از اینکه توی صفحه فهرست پست‌ها، روی لینک ویرایش پست کلیک کرد و پست رو هم ویرایش کرد، به صفحه پستها برگرده، باید توی اکشن posts/index این کد رو بنویسیم:
Yii::$app->user->retuUrl = Url::to(['posts/index']);

حالا توی اکشن edit بعد از ویرایش پست میتونیم این کد رو صدا بزنیم:
 
retu $this->goBack();

و کاربر به آخرین صفحه‌ای که retuUrl رو ست کرده باشه برگردونده میشه.

یکی دیگه از کاربردهای این تکنیک توی سبد خرید هست، وقتی که میخواین از AJAX استفاده نشه. توی صفحه محصول مربوطه retuUrl رو روی همون صفحه ست میکنید و توی اکشن فرضی cart/add بعد از اضافه‌کردن محصول به سبد خرید، کاربر رو به صفحه قبل برمیگردونید.

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 135 تاريخ : چهارشنبه 13 مرداد 1395 ساعت: 20:08

خبرنامه