2012-03-30 3 views
0

ExpressionEngine에서 세이프 크래커 양식을 만들어 레시피를 만들려고합니다. 나는 recipe 채널을 가지고 있는데, 이는 성분 채널에서 많은 성분을 가질 수 있습니다 (devot : ee의 다중 관계 추가 기능 사용). 그러나, 나는 내 양식 내에서 재료를 나열하는 데 문제가 있습니다. 이것은 내 마크 업입니다 :세이프 크래커 양식의 관련 항목은 무엇입니까?

{exp:safecracker channel='recipes' datepicker='no' id='add-recipe-form' include_jquery='no' return='recipes/view/ENTRY_ID' safecracker_head='no'} 
    {related_entries id='ingredients'} 
     {title} 
    {/related_entries} 
{/exp:safecracker} 

문제는 실제 EE 태그가 웹 페이지에 출력되고 있다는 것입니다.

저는 근본적으로 잘못된 것을하고 있습니다. 그래서 누군가 올바른 방향으로 나를 가리킬 수 있습니까? 감사.

답변

1

이것을 "변수 충돌"이라고합니다. 부모 태그에서 사용 된 것과 동일한 변수/태그 이름 (이 경우 {title})을 사용하는 항목을 중첩하는 것이며, EE의 parse order 작동 방식으로 인해 부모 태그가 매번 이기고 있습니다.

해결책은 위의 코드를 다른 템플릿에 넣고 Safecracker 양식에 embed that template을 넣는 것입니다. 다른 모든 EE 태그가 구문 분석 된 후에는 임베드가 템플리트 처리 마지막 단계에서 실행되므로 동일한 충돌이 발생하지 않습니다.

+0

감사를하는 데 도움이됩니다. 이것은 앞으로의 발전을 위해 알아두면 좋을 것입니다! –

0

데렉이 맞습니다. 관련 항목을 삽입해야합니다. 이 코드로 토론토 EE meetup 사이트에서 작업하고 있습니다.

단순화 된 템플릿 코드 :

{exp:safecracker channel="gta-attendee"} 
<div class="form_row" style="display:none;"> 
<label class="small">Choose Meetup to Attend:<span class="required">*</span></label> 
{embed="includes/_playa_select" selected="{attendee-event:child_ids}" } 
</div> 
{/exp:safecracker} 

임베디드 코드 : 코드에서

{exp:channel:entries dynamic="no" channel="gta-meetup" limit="1"} 
<input value="{entry_id}" name="attendee-event[selections][]" type="hidden"> 
{/exp:channel:entries} 

나는 플라 야 모듈을 사용하고 있지만 원칙은 동일합니다. 희망이 데릭,

숀에게

관련 문제