رفتن به مطلب

اضافه كردن action جديد به كنترلر هاي قسمت مديريتي


پست های پیشنهاد شده

با سلام

من در حال يادگيري و كار با ورژن 1.6 هستم و تا اينجا كه مطالعه داشتم سوال برام پيش اومده كه

براي اضافه كردن يك action جديد، مثلا به Products بايد توي فولدر override\controllers\admin كلاس AdminProductsController را ايجاد كنم كه از AdminProductsControllerCore اكستند شده.

ولي حالا اين سوال هست كه اين اكشن جديد را كجا بنويسم؟

توي جاهاي مختلف مثل initProcess() را ويرايش كنم؟ چطوري اول parent::initProcess() را چك كنم؟

 

ممنون از راهنماييتون

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

دوست من برای چه کاری دارید اورراید میکنید؟

نیازی به اورراید ندارید. باید تا حد امکان از هوک استفاده کنید و ماژول بنویسید

 

Sent from my Xperia using Tapatalk pro

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

خب ماژول نويسي يكي از راه هاست.

براي بحث آموزشي در نظر دارم كارهاي سيستمي را بررسي كنم، كارايي خود سيستم را تغيير بدم مي خوام كارايي هاي ديگه اي اضافه كنم

مثلا يك جدول جديد به ديتا بيس اضافه كنم و اطلاعات مربوط به اين كالا و جدول جديد را در آن بريزم.

من با فريم ورك yii كار كرده ام و mvc پرستا شاپ برام هنوز غريبه ست.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

سوال من چيز ديگه اي هست

مثلا اول كه كنترلر مشخص ميشه كه كدوم كنترلر بايد فراخواني بشه

بعد متد هاي __construct() و init() و ... به ترتيب فراخواني مي شن

ولي كجا تصميم گرفته ميشه كه نسبت به اين اكشن خاص چه كار انجام بشه؟

اينطور كه من تا اينجا متوجه شدم اينه كه زياد انعطاف نداره

درسته؟

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

ببینید این ها ربطی به mvc ندازه

این ها وراثت و شی گرایی هست

اگر این مفاهیم رو بدونید میتونید به راحتی ساختار پرستاشاپ رو درک کنید

کنترلرها همه فرزند یک کنترلر مادر ادمین و یک کنترلر مادر فرانت هستند. و هر دوی این ها فرزند یک کلاس دیگه. به همین خاطر دستکاری هسته نیاز به دقت زیاد داره.

۹٠درصد تغییرات با استفاده از ماژول قابل انجامه حتی افزودن جدول به دیتابیس، افزودن یک شی جدید یا افزودن یک کنترلر جدید

 

Sent from my Xperia using Tapatalk pro

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

در مورد شيء گرايي، كه بايد بگم كلاس AdminConroller توي پروژه من نبودكه همه كلاس هاي ادمين از اون اكستند شده بودند.

من خودم class AdminController extends AdminControllerCore را توي override/classes/controller اضافه كردم كه IDE من بتونه بفهمه و ارور نده همش كه كلاس موجود نيست!

اتو لود پرستا كه از اين نظر خيلي بده به نظر من، براي اينكه همه كلاس هاي پايه Core بايد بهشون اضافه بشه تا كلاسشون معلوم بشه!

من فعلا دنبال ماژول نويسي نيستم.

اينطور كه من تا ايجا متوجه شدم براي اضافه كردن اكشن جديد بايد توي همه توابعي كه به ترتيب اجرا مي شوند، بلوك if بزارم و اونجا چك كنم كه كدوم اكشن هست.

اين درسته؟

مثل تابع initProcess() در خط 1196

elseif (Tools::isSubmit('submitAddProductAndPreview'))

{

$this->display = 'edit';

$this->action = 'save';

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

خیر این طور نیست

یا من متوجه منظور شما نشدم

پرستاشاپ mvc هست و بیشتر تغییرات نیاز به تغییر در سه بخش کلاس، کنترلر و فایل ویو داره

آموزش این چیزها واقعا در انجمن نمیگنجه و وقت و حوحله کافی میخواد

 

Sent from my Xperia using Tapatalk pro

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

در حال بارگذاری


  • کاربران آنلاین در این صفحه

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • اضافه کردن...