2014-06-18 4 views
0

ZF2 응용 프로그램 용 새 모듈을 만들고 있습니다. Atom 피드로 일부 데이터를 노출해야합니다. 내가받은 스펙은 다음과 같이 보입니다.Atom 피드는 어떻게 사용자 정의합니까?

<entry> 
    <source>MySource</source> 
    <title>MyTitle</title> 
    <link href="http://mylink:1" rel="self" /> 
    <updated>2014-06-17T07:56:03.1696831Z</updated> 
    <content type="MyContentType"> 
     <customerids xmlns="">MAGENTO:1</customerids> 
     <customerids xmlns="">CRM:123</customerids> 
     <customerids xmlns="">OTHER:999</customerids> 
     <passwordalgorithm xmlns="">SHA-2</passwordalgorithm> 
     <passwordsalt xmlns="">QxLUF1bgIAdeQX</passwordsalt> 
    </content> 
</entry> 

나는 아주 쉽게 내가 해결할 수없는 어떤 Zend\Feed\Writer\Feed

을 이용하여 공급을 할 수는 콘텐츠 요소 유형을 설정하는 방법과 내용 요소에 내 추가 요소를 추가하는 방법입니다. 내가 얻을 수있는 것은 문자열 콘텐츠가있는 XHTML 유형입니다.

"source"요소를 항목에 추가하는 방법을 알아 내려고하는 데 어려움이 있습니다.

저는보기를 사용하여 수동으로이 피드를 만드는 길을 가고 싶지 않습니다.

도움을 주시면 감사하겠습니다.

답변

1

부분적인 답변 만 있습니다.

XHTML 콘텐츠 유형 appears to be hard-coded into the Atom renderer이므로 쉽게 변경할 수있는 내용은 아닙니다. Zend Feed Writer에는 '확장'시스템이 있습니다.이 시스템을 사용하면 자신이 원하는 것을 달성 할 수 있습니다. 그러나 이것은 문서화되어 있지 않으며 코드를 보는 것으로부터 어떻게 작동하는지 쉽게 볼 수 없으므로 아마 간단하지 않을 것입니다. ,

$source = $entry->createSource(); 
$source->setTitle('Source title'); 
// [etc.] 
$entry->setSource($source); 
구성 요소는 매우 귀하의 질문에 단일 값의 예와 일치하지 않는 소스 요소의 특정 요소를 필요로 나타납니다

:

소스를 설정하려면, 당신은 같은 것을 할 수 있어야 그래서 이것은 당신이 당신이 한 일을하도록 허락하지 않을 수도 있습니다.

예제는 주로 사용자 정의 요소로 이루어져 있으므로 Atom이이 작업에 가장 적합한 지 여부를 질문합니다. 질문에서 언급 한 것처럼 뷰를 사용하지는 않겠지 만 DomDocument 또는 SimpleXML을 직접 사용하면 훨씬 쉬울 것입니다.

0

예. 프레임 워크의 원자 렌더러가 내 필요성에 비해 너무 강하다. 특히 콘텐츠 피드, 예를 들어 블로그 게시물 용으로 만들어진 것 같습니다.

Tim이 언급했듯이, 맞춤화 된 피드에 대한 더 유연한 접근 방식은 렌더링 된 부분보다는 DomDocument 또는 SimpleXML을 직접 사용하여 세부 사항을 추상화합니다.

그게 정확히 내가 한 일이고 이것은 지정된 피드를 만들 수있게 해줍니다.

확인해 주셔서 감사합니다.

관련 문제