2013-05-02 4 views
0

저는 concrete5에 익숙하지 않아 부모의 하위 페이지 (현재 페이지가 아니기 때문에 부모 슬러그를 인수로 전달해야 함)를 반복해야합니다.concrete5 루프 부모 하위 페이지 하위 페이지

나는 이것이 간단 할 것으로 기대하지만, 내가 발견 한 모든 것은 autonav와 관련이있다. 비표준 형식의 사이트 탐색 때문에 autonav를 사용할 수 없습니다.

해결책은 마크 업을 반드시 인쇄 할 필요가 없습니다. PHP 코드를 생성하여 태그를 만들면 좋을 것입니다. 그러나 나는 어느쪽으로 든 걸릴 것이다 :-) 미리 감사드립니다!

+0

실제로 생각하면 ... 현재 페이지의 하위 페이지를 루프하는 것이 좋습니다. – splscs

답변

2

는 일부 마크 업을 하려는 경우, 당신은 페이지 목록 블록 체크 아웃이 페이지의 일종에 표시 할 : 프로그래밍 페이지를해야하는 경우 http://www.concrete5.org/documentation/editors-guide/in-page-editing/block-areas/add-block/page-list/

을, 다음 PageList 모델은 당신이 할 수있다 부모 페이지를 전달하고 모든 자식을 Page 객체의 배열로 가져옵니다. https://github.com/concrete5/concrete5/blob/master/web/concrete/core/models/page_list.php

0

콘크리트 5로 작업하기 시작했는데, 이것이 최적의 코드가 아니라고 말할 수 있습니다. 그러나 그것은 효과가 있으며 아마도 다른 기사가 나를 너무 많이 도와주지 않았기 때문에 도움이 될 것입니다.

$page = Page::getByID("page_id_here"); 
$sub_page_ids = $page->getCollectionChildrenArray(1); 
foreach ($sub_page_ids as $id) { 
    $page = Page::getByID($id); 
    $pages_array[$page->getCollectionName()] = DIR_REL . $page->getCollectionPath(); 
} 

이가 출력이

$pages_array["page-url-here"] = "Title of Page Here" 
과 같은 배열 :

은이 같은 작업을 수행 할 수 있습니다, 당신은 페이지의 ID가 있다면 당신이 하위 페이지를 얻으려면, 말했다

분명히 원하는대로 코드를 수정해야하지만 이것은 내 사이트에서 사용하는 것입니다. 누군가가 한 명씩보다는 한 번에 모든 하위 페이지를 잡는 방법에 대한 제안을 가지고 있다면, 나는 훨씬 더 좋을 것이라고 생각합니다.

관련 문제