في symfony - تجاوز sf_format عند الاتصال get_partial

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

  •  06-07-2019
  •  | 
  •  

سؤال

وأنا إجراء مكالمة AJAX في مشروع symfony لبلدي، لذلك كان لديه sf_format من "شبيبة". ويرى actionSuccess.js.php، أدعو get_partial لتحديث المحتوى على الصفحة. افتراضيا فإنه يبحث عن جزئية في شكل "شبيبة" منذ مازال تعيين sf_format باسم 'شبيبة'. هل من الممكن لتجاوز sf_format بحيث يستخدم العادية "أتش تي أم أل" جزئية أن لدي بالفعل (بحيث لا يكون لديك اثنين من جزئيات متطابقة)؟

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

المحلول

ولقد كان مشكلة مشابهة.

ونظرت من خلال الرمز، وget_partial لا يعطيك أي مجال لتغيير شكل بحثت عن ... أعتقد أنك يمكن تعديل التعليمات البرمجية لجعل ذلك ممكنا إذا كنت في حاجة إليها.

وI بدلا من ذلك ذهب لتبديل شكل الطلب - أيضا ليست مثالية في رأيي. ولكن أفضل من تحرير الملفات في symfony.

لقيام بذلك في وحدة تحكم:

$request->setRequestFormat('html');

وأو في عرض

$sf_context->getRequest()->setRequestFormat('html');

في كلتا الحالتين، إذا كنت ترغب في تعيين هذا مرة أخرى بعد ذلك، يمكنك استرداد القيمة الحالية باستخدام getRequestFormat ().

نصائح أخرى

وإذا كنت تبحث عن حل أكثر استدامة، هل يمكن الاستماع إلى view.configure_format وتعيين تمديد sfPHPView في التكوين appflication الخاص بك.

// in apps/api/config/apiConfiguration.class.php
public function configure() {
  $this->dispatcher->connect('view.configure_format', array($this, 'configure_formats'));
}

public function configure_formats(sfEvent $event) {
  // change extension, so our module templates and partials 
  // for xml do not need the .xml.php extension
  $event->getSubject()->setExtension('.php');
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top