2013-02-20 2 views
1

출력 이스케이프 처리없이 i18n 객체의 값을 가져 오는 중 Symfony 1.4 및 Doctrine에 문제가 있습니다.symfony 출력이없는 i18n 객체

일반적으로이 작업을 수행하면 $object->getDescription(ESC_RAW); 값을 이스케이프 처리하지 않습니다. 문제는 개체의 특정 번역을 가져올 때 나타납니다. 문화와 탈출 전략을 어떻게 지정합니까? 이것에 대한 문서를 찾지 못했습니다. 여러 매개 변수를 배열 또는 이와 비슷한 값으로 전달할 수 있습니까? $object->getDescription(array('fr', ESC_RAW));?

여기 내 스키마의 관련 부분입니다 :

Object: 
    actAs: 
    Timestampable: ~ 
    I18n: 
     fields:   [name, description] 
    columns: 
    name:    { type: string(255), notnull: true } 
    description:  { type: string(1000) } 
    user_id:   { type: integer } 
    relations: 
    User:    { class: sfGuardUser, local: user_id, foreign: id, type: one, foreignType: many, foreignAlias: Objects } 

답변

3

시도 :

sfOutputEscaper::unescape($object->Translation['fr']->description); 
+0

안녕하세요, 고맙습니다. 이전 답변이 왜 나에게 효과가 없는지 아는 사람이 있습니까? 이것은 이것을 처리하는 적절한 방법처럼 보이지 않습니다. – Zach

+0

'$ object-> getDescription (ESC_RAW)'와 같이 객체 direclty에있는 경우'getDescription (ESC_RAW)'가 작동합니다. 그러나 번역 관계에 도달하면 가치를 검색하기 위해 게터를 사용한 적이 없습니다. 그건 그렇고,'sfOutputEscaper :: unescape'를 사용하는 것은 나쁜 방법은 아니며, 'ESC_RAW'를 사용하면 개발자가 끝까지 동일한 작업을 수행 할 수 있습니다. – j0k

+0

답변 해 주셔서 감사합니다! – Zach

1
$object->Translation['fr']->getDescription(ESC_RAW); 

이 트릭을 할해야합니다 :)

+0

감사합니다! 그러나 이것을 시도 할 때 "Doctrine_Record_UnknownPropertyException Unknown method ObjectTranslation :: getDescription"내 스키마를 포함하도록 내 질문을 편집했습니다. 아마도 나는 잘못된 것을하고있다. – Zach