Yii Framework Forum: استفسار حول نسخة من موديول Users - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

استفسار حول نسخة من موديول Users

#1 User is offline   Adnanoof 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 17-December 15
  • Location:UAE

Posted 17 December 2015 - 09:27 AM

تحية طيبة
أولا سررت جدا بوجود قسم عربي في منتديات Yii
هذه أول مشاركة لي ، ,وأتمنى ان استفيد منكم واستعيد الإفادة في الأيام القادمة

-----

واجهتني مشكلة اود طرحها في هذا المنتدى

لدي Yii2 Advanced template
قمت بفصل المستخدمين في الواجهة عن الخلفية (front-end & back-end)
كمافي هذه التدوينة : http://www.yiiframew...-yii2-advanced/

ولكن احتاج للتحكم بحسابات المستخدمين في الواجهة
فقمت باضافة موديول المستخدمين dektrium Yii2 user
إلى backend كالتالي

    'modules' => [

            'player' => [
            'class' => 'dektrium\user\Module',
            'enableRegistration' => false,
            'enableUnconfirmedLogin' => false,
            'confirmWithin' => 21600,
            'cost' => 12,
 'admins' => ['beadmin'],

        ],
 
    ],


وطبعا عملت override لل view مع تغيير القيم المطلوبة

بس لما عم اطلب المسار
index.php/player/admin
من back-end
عم احصل على الخطأ التالي :

Quote

Invalid Configuration – yii\base\InvalidConfigException
The "query" property must be an instance of a class that implements the QueryInterface e.g. yii\db\Query or its subclasses.


مع العلم انو لو انا لو عدلت player إلى user كلو بيشتغل تمام .
لما عم اطلب المسار
index.php/user/admin
من back-end

واستخدمت

    'modules' => [

            'user' => [
            'class' => 'dektrium\user\Module',
            'enableRegistration' => false,
            'enableUnconfirmedLogin' => false,
            'confirmWithin' => 21600,
            'cost' => 12,
 'admins' => ['beadmin'],

        ],
 
    ],



أتمنى كون شرحت المشكلة بشكل واضح
كل التحية
0

#2 User is offline   Muaid 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 138
  • Joined: 25-October 10
  • Location:Saudi Arabia

Posted 21 January 2016 - 01:27 AM


اهلين وحياك الله اخوي عدنان

اعتذر عن التأخير ويجب ان ابحث عن طريقة تنبيه في حال وجود مشاركات جديدة

ولاكن سوف اجيب لتعم الفائدة بإذن الله

راجعت التدوينة في الرابط الي وضعته ولاحظت ان الشرح يخص طريقة فصل المستخدمين بالطريقة الافتراضية لإطار العمل وليس باستخدام موديول المستخدمين dektrium Yii2 user

بخصوص فصل المستدخدمين لموديول dektrium Yii2 user فيجب فصل الكوكي او السيشن كما هو مذكور بتوثيق الموديول في هذا الرابط
Use independent sessions in one domain

فهمت من طرحك انك تريد استخدام الرابط
player/admin
بدلا من
user/admin

في هذه الحالة ان لاتحتاج ان تغير اسم الموديول ولاكنك بحاجة إلي وضع rule في urlManager في config الـ backend

'components' => [
  'urlManager' => [
    ...
	'rules' => [
      	'player/admin' => 'user/admin',
	],
    ...
  ],
],


بهذه الطريقة انت تحول الرابط من player/admin إلي user/admin

ولاكن بهذه الطريقة راح يكون عندك رابط ثابت fixed ولن يكون دايناميك مع كل رابط داخل الموديول، وصعب تضيف كل رابط يدويا

الحل يكون ان توضح لإطار العمل محتوي الرابط كـ controller و action و حتي متغييرات

وهذا مثال يوضح الفكرة


'rules' => [ 
  'player/<controller:\w+>' => 'user/<controller>', // يحول إلي الكنترولر مباشرة
  'player/<controller:\w+>/<action:\w+>' => 'user/<controller>/<action>', // وهنا يحول إلي الاكشن مباشرة
  ...
  // يجب ايضا اضافة الراوتنق هنا في حال وجود متغييرات في الرابط مثل حاله view او update لوجود متغير مع الرابط
  ...
],



يمكنك مراجعه توثيق URL Rules في صفحة Routing

اتمني ان اكون قد اضفت شي مفيد إلي طرحك والله ولي التوفيق

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users