2013-04-25 2 views
0

하나의 공통 스 니펫에서 모든 페이지의 HTML 헤더를로드합니다. 예를 들어 다양한 유형의 템플리트가 있습니다. 웹 사이트 또는 블로그 기사. 웹 사이트뿐만 아니라 기사를위한 다양한 템플릿 템플릿이있을 수 있습니다.MODx Evo : 미리 정의 된 자리 표시자를 템플릿에 할당하는 방법?

<meta property="og:type" content="[*myplaceholder*]" /> 

을하고, 할당 된 "일정"에 따라 만들 것입니다 : 그래서 다음과 같이 할 모든 템플리트 HTML 헤더에 자리를 채 웁니다 그것에 일정의 일부 종류에 추가 할 예를

<meta property="og:type" content="website" /> 

또는

<meta property="og:type" content="article" /> 

를위한 템플릿입니다.

템플릿 변수를 정기적으로 사용하지 않으려 고합니다. ManaerManager를 사용하여 조작하고 숨길 수있었습니다. 하지만 실제로는 더 깨끗한 솔루션을 찾고 있습니다. PHP로만 존재할 수 있습니다.

아이디어가 있으십니까?

답변

0

필자는 PHP를 사용하여 템플릿 내 모듈로 이것을 대체합니다 (이 작업은 매우 간단하며 MODx Evo를 사용하지 않습니다 ...). 우선은 대체 문자 파일에서 검색 한 후 간단한 교체 않습니다

<?php 
if (strstr($current_content, '[*myplaceholder*]') !== false) { 
    $replaced_content = str_replace('[*myplaceholder*]', 'website', $current_content); 
} 
?> 

당신은 당신이 뭘하려는 건지에 따라 달라집니다로 교체 무엇, 그러나 희망 당신은 일반적인 아이디어를 얻을.

+0

MODx에는 멋진 템플릿과 템플릿 변수 시스템이 함께 제공됩니다. 나는 플러그인을 작성할 때 너와 비슷한 기술을 사용한다. 플러그인은 스 니펫을 플레이스 홀더로 가져온다. 그러나 나는 그 방향으로 어딘가에 갈 수 있습니다. 그게 효과가 있을지 생각해야 해. –