0

ExpressionEngine 2.2.1을 사용하고 있으며 페이지 범주에 따라 특정 탐색 템플릿을 표시하는 조건을 만들려고합니다. 예를 들어, 나는 런던에서 경쟁의 일부인 누군가를위한 공개 프로필을 만들고 있습니다. 다른 사람이 자신의 프로필을 방문하면 그의 프로필뿐만 아니라 런던 대회에 고유 한 London & 내비게이션의 이미지가있는 배너도 페이지에 표시하고 싶습니다. 여러 다른 도시에서 경쟁자가 너무 많기 때문에 범주를 추가하여이 작업을 수행하고 싶습니다. "London Competitors English"라는 카테고리를 만들었으며 ID는 "56"입니다. EE 내에서 경쟁자의 프로필을 만든 후에는 카테고리 "런던 경쟁자 영어"를 선택하지만 페이지에 갈 때 런던 템플릿 대신 기본 탐색 템플릿이로드됩니다. 내 연구 및 가장 관련 예제를 기반으로 코드를 만들었습니다 : http://expressionengine.com/forums/viewthread/185555/. 내가 내 코드?헤더 파일에 범주를 기반으로 템플릿을 임베드

FILE ONE 잘못이 있습니까 : (의 압축 된 부분) competitor_profiles_en/index.html을 "competitor_profiles_en은"템플릿입니다 :

{exp:channel:entries limit="1" url_title={segment_2} } 
{embed="includes/header"} 
<div class="xx">  
<h2>{competitor_first_name}<br>{competitor_last_name}</h2>  
... 
</div> 
{/exp:channel:entries} 

FILE 2 : (응축 부분) 내 HEADER.html 현재 파일 :

{if segment_1 == 'home'} 
{embed="includes/_nav_landing"} 
{if:elseif "{categories}{category_id}{/categories}" == "56"} 
{embed="includes/_nav_city_lon_en"} 
{if:else} 
{embed="includes/_nav_internal"} 
{/if} 

답변

0

문제 내장 프로그램이 완전히 분리 공정에서, 다른 모든 태그 후 처리이다. 따라서 includes/header embed가 실행될 때 채널 항목 태그 내에서 실제로 실행되지 않기 때문에 말할 항목이 없습니다.

includes/header에 변수를 전달해야하는 경우가 아니라면 (여기서 수행하는 것으로 보이지 않지만 간단히하기 위해 변수를 삭제했을 수 있습니다.) 코드 대신 includes/header을 코드 조각으로 이동하면 처리됩니다. 채널 항목 태그로 인라인하십시오.

0

데렉의 대답이 사실이었습니다. 나는 그의 제안을 행동으로 옮기는 나의 방법을 상세히 설명하고자합니다.

스 니펫에 대한 정보는 여기 http://expressionengine.com/user_guide/templates/globals/snippets.html이고 여기에서이 튜토리얼은 http://www.youtube.com/watch?v=AEEudo0BrRA&feature=related입니다. 그런 다음 헤더 파일에있는 모든 코드를 포함하고 snippet_header_en이라는 제목의 컨트롤 패널 (디자인> 템플릿> 코드 단편)에 스 니펫을 만들었습니다. ExpressionEngine에는 스 니펫이 포함되어있는 템플릿의 일부로 포함되어 있으므로 EE는 내가 만든 카테고리를 포함하여 내 조건을 인식합니다.

FILE ONE : 다음은 수정 된 코드 (의 압축 된 부분) competitor_profiles_en/index.html을 "competitor_profiles_en은"템플릿입니다 :

{exp:channel:entries limit="1" url_title={segment_2} } 
{snippet_header_en} 
<div class="xx">  
<h2>{competitor_first_name}<br>{competitor_last_name}</h2>  
... 
</div> 
{/exp:channel:entries} 

FILE 2 : (의 압축 된 부분) 내 header.html 파일 : 앞서 언급 한 것처럼이 코드를 EE 제어판의 스 니펫 섹션으로 옮겼습니다.