سؤال

أنا أستخدم codeigniter مع امتداد HMVC وحدات ولديه منطقة Backend CMS لإدارة محتوى الموقع. أنا توجيه URL الأساسي + "المسؤول" (http: // localhost / cms / admin) إلى طرق تحكم مع البادئة "admin_".

على سبيل المثال وظيفة admin_index () {...}

وهنا توجيه بلدي:

$ Route ['Admin / ([A-ZA-Z] +) / (: أي)' '' = "$ 1 / Admin_ $ 2"؛ $ Route ['^ admin / (: أي) (/)؟ "] =" $ 1 / admin_index "؛ Route $ ['^ المسؤول (/)؟'] = "لوحة معلومات / admin_index"؛ Route $ ['admin / logout'] = "تسجيل الدخول / admin_logout"؛

مع HMVC لا يتوجه بشكل صحيح الآن. هنا ما يحدث:

عنوان URL: http: // localhost / cms / admin / faqs الدليل: الوحدات / الأسئلة الشائعة / وحدات التحكم / الأسئلة الشائعة - طريقة الفهرس - هنا هو المكان الذي يكسره - عنوان URL: http: // localhost / cms / admin / faqs / الفئات : الوحدات / الأسئلة الشائعة / وحدات التحكم / الأسئلة الشائعة - الفئات الطريقة (لا تغادر) المرغوبة: الوحدات / الأسئلة الشائعة / وحدات التحكم / الفئات - طريقة الفهرس

كيف يمكنني استخدام HMVC مع الحفاظ على "المسؤول" من موقع الويب؟

هل كانت مفيدة؟

المحلول

أنت تجعل الحياة صعبة بعض الشيء عن طريق وضع وظائف الواجهة الأمامية والخلفية في نفس وحدات التحكم. إلقاء نظرة على مقالي على كيفية إنشاء هيكل المسؤول في Codeigniter.

نصائح أخرى

أنا أعمل على شيء مماثل، ونفذ تبديل مثلك (خيار 3) وعمل بشكل جيد.

حاولت تنفيذ وحدة تحكم أمامية للتعامل مع قسم المسؤول، وتشغيل الوحدات النمطية باستخدام وحدات HMVC :: تشغيل () ومخزن المؤقت الإخراج كما أتمنى، ولكن بعد ذلك واجهت مشكلة أخرى، سيتعين عليك تغيير مخططات URI من / إلى _ أو أي شيء آخر، نظرا لأنك لن تكون قادرا على إرسال قطاعات الوحدة النمطية كمعلمة لوحدة التحكم الخاصة بك لأن CI تعتمد على آلية التوجيه "/".

الطريقة الوحيدة هي محاكاة قسم المسؤول كما اقترح فيل، ولكن هناك خيار آخر لا يزال لديك التحكم في التعليمات البرمجية التي ينفذها أي شخص باستخدام CMS الخاص بك.

يمكنك تمديد CI_CONTROLLER (أو MX_Controller في حالة استخدام HMVC) وإضافة Admin_Controller الذي سيتعامل مع منطقك والتحكم في الوحدات النمطية التي يمكن القيام بها.

الق نظرة على هذا الفصول الأساسية Codeigniter: الحفاظ عليه جاف

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top