2014-10-09 3 views
0

저는 10 월 Cms를 사용 중이며 Ajax 요청에서 페이지 콘텐츠를 반환하려고합니다. 예를 들어, 몇 가지 내부 링크를 클릭하면 나뭇 가지와 같은 페이지 객체 인 ajax에서 얻으려고합니다 {% page %}.아약스 처리기에서 PHP에서 {% page %} 객체 가져 오기

public function onInternalLink(){ 
$href = post('href'); 
return [ 
     'title'=>'', //here i want {{ page.title }} 
     'content' => '', //and here {% page %} like this variable in layout. 
      ]; 
    } 
} 

내 JS 코드는 내가 새로운 CmsObject을 만들고 parseMarkup() 메소드를 사용하려고하고, 성공하지 pageCycle()를 시도하려고

$.request('onInternalLink', { 
     data: {href: u}, // var u is the requested url to return 
     success: function() { 
      console.log('Almost october'); 
     } 
    }) 
} 

입니다. PHP 스크립트에서 {% page %} 개체를 가져 오는 방법을 찾지 못했습니다. 이렇게하는 방법이 있습니까?

답변

1

을 PHP에 사용하면 $this->page을 사용하여 현재 페이지에 액세스 할 수 있습니다. 그래서 PHP가 될 것입니다 :

public function onInternalLink() { 
    $href = post('href'); 
    return [ 
     'title'=> $this->page->title, 
     'content' => $this->getContentsFromFile($this->page->baseFileName), 
    ]; 
} 

이 모든 페이지의 baseFileName에서 HTML 컨텐트를 가져 논리를 작성하는 것입니다 후 당신이 필요로하는 것 (I는 $ this-으로이 문제를 감쌌다> getContentsFromFile()에의 예).

$this-> page에서 제공되는 변수가 더 있습니다. 여기에서 그에 대한 내용을 읽어보십시오. https://octobercms.com/docs/cms/pages#page-variables