2012-07-13 5 views
0

나는 콧수염 템플리트 엔진으로 작업을 시작했습니다. 현재 PHP 구현 (https://github.com/bobthecow/mustache.php/wiki)을 사용 중입니다. 나는 헬퍼를 사용하여 데이터가 렌더링되는 방식을 조작하고있다.콧수염 템플리트 데이터를 동적으로 변경하는 방법

 
$data = array("name" => "abhilash"); 
$template = "Hello {{name}}, {{#bold}}Welcome{{/bold}}"; 

$m = new Mustache_Engine(array(
    "helpers" => array(
    "bold" => function($content) { 
     return "<b>$content</b>"; 
    }))); 
$html = $m->render($template, $data); 

덕분에 '환영'을 굵은 글씨체로 렌더링 할 수 있습니다. 도우미 기능의 도움으로 $data을 조작 할 수 있는지 알고 싶습니다. 예를 들어 템플릿이 아래에 있고 도우미 함수가 dataSource으로 등록 된 경우이를 사용하여 datasource_func_name()에서 일부 데이터 (키 - 값 쌍이라고 함)를 수집하고 $data에 추가하고 싶습니다.

 
{{#dataSource}}datasource_func_name{{/dataSource}} 
Hi {{name}} 

답변

1

일반적으로 헬퍼를 사용하는 방법은 아닙니다. 그러나 기본적으로 콧수염 데이터 소스를 기대하므로 직접 주입하지 않는 이유는 무엇입니까?

$html = $m->render($template, $dataSource); 
+0

안녕하세요, 저는 데이터 소스 제공을 의미하지 않는다는 것을 알고 있습니다. 실제로 나는 콧수염이 데이터 렌더링에 책임이있는 프레임 워크를 만들기 위해 노력하고 있습니다. 이 문서에서는 템플릿에 대한 지원을 추가하여 데이터 소스 모듈 이름과 프레임 워크가이 데이터 소스의 데이터를 수집하고 템플릿으로 다시 가져 오는 것을 나타 내기를 원했습니다. 나는 Mustache 코드를 수정하지 않고 도우미가 더 좋은 방법이라고 생각했습니다. – Goje87

+2

그는 어떻게하는지 알려주고 있습니다. 콧수염은 데이터를 가져 오지 말아야합니다. 데이터를 가져 와서 콧수염에 주어야합니다. – bobthecow

관련 문제