Symfony - get_partial çağrılırken sf_format geçersiz kılma

2 Cevap php

Benim symfony projesinde bir AJAX çağrısı yapıyorum, bu yüzden 'js' bir sf_format vardır. ActionSuccess.js.php görünümünde, ben sayfadaki içeriği güncellemek için get_partial diyoruz. Sf_format hâlâ 'js' olarak ayarlanmış olduğundan varsayılan olarak 'js' biçiminde kısmi arar. (Ben iki özdeş partials olması gerekmez ki) bu normal 'html' Ben zaten sahip olduğu kısmi kullanır, böylece sf_format geçersiz kılmak mümkün mü?

2 Cevap

Ben benzer bir sorunu vardı.

Eğer gerekirse bu mümkün kılmak için kodu değiştirebilir sanırım için ... baktım ben kod boyunca baktım ve get_partial size biçimini değiştirmek için herhangi bir kapsam vermez.

Bence de ideal değil - ben yerine istek formatını geçiş için gitti. Ama Symfony dosyalarını düzenleyerek daha iyi.

Denetleyicisi Bunu yapmak için:

$request->setRequestFormat('html');

ya da görünümünde

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

Geri sonra bu ayarlamak istiyorsanız her iki durumda da, sen getRequestFormat () kullanarak mevcut değerini alabilirsiniz.

Lütfen daha sürdürülebilir bir çözüm arıyorsanız eğer, view.configure_format dinlemek ve appflication yapılandırmasında sfPHPView uzantısını ayarlayabilirsiniz.

// 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');
}