سؤال

أحاول تقديم جزء جزئي في مهمة Symfony وليس لدي حظ. لقد وجدت مستندات في 1.1 تقول فقط للاتصال get_partial() ولكن يبدو أن هذا لم يعد متاحًا بسهولة في 1.4. حاولت تحميل المساعد يدويًا sfLoader::getHelpers('Partial'); لكني أحصل على "فئة sfloader لم يتم العثور عليها". أي مساعدة سيكون موضع تقدير كبير.

للرجوع إليها ما أحاول القيام به هو إنشاء ملف HTML يسمى "Header.html" من رأستي العالمية المستخدمة في جميع تخطيطاتي لإدراجها في منتدى طرف ثالث أقوم بدمجها (آلات بسيطة/SMF).

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

المحلول

الحمل الأول:

sfContext::getInstance()->getConfiguration()->loadHelpers('Partial');

ثم اتصل فقط:

get_partial()

نصائح أخرى

لا تنس إضافة اسم تطبيق في خيارات مهمتك. ابحث عن هذا الخط:

new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED,'The application name', 'frontend')

الآن $this->configuration إرجاع sfApplicationConfiguration التي تحتاجها.

هذا وسوف تفعل خدعة:

//load the Partial helper to be able to use get_partial()
$contextInstance = sfContext::createInstance($this->configuration);
$contextInstance->getConfiguration()->loadHelpers('Partial');

sfLoader تم إهماله في Symfony 1.2 - أعتقد أنك بحاجة إلى النظر في API 1.4 ومساعدة الترقية من أي إصدار مألوف ، حيث ستكون هذه الموارد التي ستحتاج إلى الإشارة إليها كثيرًا.

الحيلة لحل مشكلتك هي تحميل المساعد مع loadHelpers() الطريقة التي توفرها sfApplicationConfiguration الفصل - يجب أن تربط مهمتك هذه الطريقة في configure() طريقة. لم أفعل ذلك أمامي ، مانع ...

فقط دعا جزئيًا في مهمة للاستخدام في إرسال بريد إلكتروني تجريبي مجاني ، إليك الرمز:

//combines the partial with passed variables and puts the results in a string variable
$contextInstance = sfContext::createInstance($this->configuration);
$contextInstance->getConfiguration()->loadHelpers('Partial');

$partial_in_a_string = $contextInstance->getController()
          ->getAction('module_name', 'action_name')
          ->getPartial('module_name/partial_name', array('var_name'=>'var_value'));

يمكنك الوصول إلى التكوين الحالي مع

$this->configuration

يمكنك أيضًا تحديد خيار أمر التطبيق في TaskClass :: Configure () Method (إذا كنت قد استخدمت Symfony إنشاء: Task لإنشاء فئة المهام يجب أن يكون لديك واجهة كخيار للتطبيق الافتراضي). اختياريا يمكنك تمرير تطبيق باستخدام -AppLication = AppName من CLI عند الاتصال بمهمتك.

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