رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
درست کردن لینک بر اساس نام مستعار
#1
سلام 
من می خوام لینکم رو با نام مستعار درست کنم همانند جوملا چطوری می تونم این کار رو انجام بدم ؟
سوال دوم اینکه من می خوام برای بخش مدیریت و سایت از یه لاگین استفاده کنم و کد زیر رو به این منظور در قسمت مدیریت گذاشتم

if(Yii::app()->user->isGuest)
			$this->redirect(array('application/site/login'));
پاسخ
تشکر شده توسط:
#2
لطفاً بیشتر توضیح بدین. اگه منظورتون اینه که لینکها با ساختار controller/action نباشن، میتونید با urlManager کار کنید. مثلاً با این تنظیمات توی بخش rules توی کامپوننت urlManager در config/main.php لینکهای site/login به sign-in تغییر خواهد کرد:
'sign-in' => 'site/login',

درمورد دوم هم توی فایل ماژول خودتون میتونید Yii::app()->user->loginUrl رو با آدرس جدید مقداردهی کنید تا بطور خودکار وقتی وارد بخش لاگین میشن، از یه آدرس دیگه برای لاگین استفاده بشه:
public function init()
{
    Yii::app()->user->loginUrl = 'application/site/login';
}
پاسخ
تشکر شده توسط:
#3
نه استاد بحث کنترلر و اکشن نیست
در جوملا ما یه قسمت عنوان داریم و یه نام مستعار برای مطالب
قسمت عنوان هرچی بود مهم نیست ولی اگر نام مستعار را پر کنیم می تونیم از اون در url استفاده کنیم بعنوان مثال
میاد و لینک رو اینطوری نمایش میده
mysite/news/29-abzar.html
نام ابزار اون نامی هست که ما وارد کردیم
پاسخ
تشکر شده توسط:
#4
آهان خوب اینو تو پکیج پیشرفته توضیح دادم. یه فیلد توی دیتابیس درست میکنید به اسم urlkey و متد ویو رو این شکلی درست میکنید:
public function actionView($id, $urlkey = null)
{
    // ...
}
بعد لینکها رو اینطوری میسازین:
Yii::app()->createUrl('news/view', array('id'=>$model->id, 'urlkey'=>$model->urlkey));

توی urlManager هم این شکلی کار میکنید:
'news/<id:\d+>-<urlkey:\w+>'=>'news/view',
پاسخ
تشکر شده توسط: googoli
#5
استاد این کد رو هم زدم
Yii::app()->user->loginUrl = 'application/site/login';

باز همون صفحه سفید رو میاره
پاسخ
تشکر شده توسط:
#6
خواسته تون رو دقیق بگید.
به احتمال زیاد مشکل از جای دیگه هستش بهتره error log رو بررسی کنید ممکنه یه خطای دیگه داشته باشه. اگه مشکل فقط از آدرس دهی باشه خطایی مثل 404 یا 403 میده. میتونید یکبار بدون تغییر آدرس تست کنید.
...
پاسخ
تشکر شده توسط:
#7
اگه صفحه سفید میاد، این کدها رو اول index.php اضافه کنید ببینید چه خطایی دارین:
error_reporting(E_ALL);
ini_set('display_errors', 'On');
پاسخ
تشکر شده توسط:




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