Cakephp استدعاء وحدات التحكم المختلفة في عرض واحد؟

StackOverflow https://stackoverflow.com/questions/3460192

  •  27-09-2019
  •  | 
  •  

سؤال

لا يمكنني العثور على طريقة لاستدعاء وحدة تحكم مختلفة في نفس العرض. أقرب شيء وجدته هو الرابط $ html-> ("تسجيل مستخدم" ، صفيف ('controller' => 'المستخدمين' ، 'الإجراء' => 'التسجيل')).

لذلك فعلت البرنامج التعليمي مدونة Cakephp. انا املك posts_controller.php, ، والآن أريد إضافة نظام تصنيف النجوم. لقد غوغل بعض الأشياء وحصلت على هذا النظام التقييمي المعزول الأنيق الذي يمكنك تنزيله: http://www.reversefolds.com/articles/show/rating2

الآن لديّ تحكمان ، Rating_Controller.php و post_controller.php.

يشير طريقي الأساسي ، "/" ، إلى نشر فهرس وحدة التحكم. عرض Post My Post.CTP يعرض إدخال مدونة واحد ، أريد إضافة نظام التقييم ضمن هذا العرض. ولاستخدام التصنيف الذي أحتاجه للاتصال بالمساعد مثل:

echo $rfRating->ratingBar($ratingInfo);

عندما أفعل هذا في ملف post's view.ctp. يشكو. لقد حاولت العبث مع var $helpers = array('blah') لكن هذا لم ينجح ، انتهى بي الأمر فقط دمج وحدة تحكم التصنيف في post_controller ، والتي أعتقد أنها غبية. يمكنني استخدام نظام التقييم لأشياء أخرى أيضًا.

لذلك ... لا أعرف ماذا أفعل. في الواقع هذه كذبة ، أعتقد أنني فكرة عن كيفية معالجة هذا. لكنني بحاجة إلى انتقادات وغيرها من الحلول التي فشلت مهاراتي في Google.

  1. هل يجب أن أقوم بتنفيذ نظام التصنيف بالكامل في app_controller.php بدلاً من ذلك؟ بحيث ترث كل وحدة تحكم نظام التصنيف هذا؟ يبدو غبيًا لأنني لا أعتقد أن تسجيل المستخدم يحتاج إلى نظام التصنيف.

  2. لقد غوغل حلاً آخر ، requestAction('blab'). أعتقد أن هذا ما يمكّنني من فعله هو ... استدعاء وحدة تحكم أخرى داخل وحدة تحكم. ولكن هذا عبوس عند مما يقتل الأداء. وأنا لا أعرف بالضبط كيف أفعل هذا هاها أو إذا كان يعمل. أسمي وحدة تحكم التقييم ولكن ماذا عن وظيفتها المساعد؟ ربما سيتعرف عليه إذا قمت بإضافة مساعدين var $ = صفيف ('تصنيف') ؛

على أي حال ، أشكركم جميعًا مقدمًا على قضاء الوقت لقراءة هذا. من فضلك أوجهني في الاتجاه الصحيح.

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

المحلول

اطلب من Ratings_Controller تمديد posts_controller.

يمنحك هذا القدرة على تحديد الصفحات التي تحتاج إلى وحدة التصنيف بشكل انتقائي.

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