영역
최근에 기능으로써의 영역과 binderlib.php (원래는 tiki-perspectivebinder.php) 파일은 꽉막혀버린 도로와 같았습니다.
TikiFestBarcelona3 (2012년 8월) 에서 Luci 와 Torsten 은 영역을 생성하는 완전히 다른 방식을 고안해냈습니다. "퍼스펙티브" 를 사용하는 웹사이트에서, 영역은 몇몇의 smarty 문법과 위니 문법을 사용하는 맞추형 모듈 로 제작될 수 있습니다.
설명:
1) 영역은 (더 이상) 기능이 아닙니다
2) 영역은 구조설정과 웹사이트를 통하여 탐색을 설정하는 컨셉입니다.
3) 영역은 웹사이트 상에서 공간 의 한 종류입니다. 영역은 사이트를 개별적 모듈, 메뉴, 및 컨텐츠가 범주와 함게 묶인 여러 개의 서브페이지로 나눕니다.
"퍼스펙티브" 기능을 사용하지 않는 웹사이트에서는, "영역"을 제작하는 것은 모듈과 테마 제어를 통하여서만 주로 가능하며, 이는 티키 10에서 더 수월해졌는데, 이는 범주의 하위트리쪽으로 혹은 범주의 하위트리에서 모듈 가시성을 제한하고 제외하는 것이 가능하기 때문입니다.
만약 "퍼스펙티브"가 사용된다면, "영역"은 "퍼스펙티브" 기능을 사용해야만 할 것입니다.
"퍼스펙티브" 혹은 "작업공간"을 사용하는 웹사이트에서는 작업공간 상에 영역을 제작하는 것이 매우 쉽습니다, 이는 작업공간이 할당된 "퍼스펙티브"와 함께 "작업공간"의 기본 범주와 함께 묶음으로 인하여 "정의된 영역" 으로 변환된 것이기 때문입니다.
이는 맞춤형 모듈과 몇몇의 smarty 코드를 통하여 가능하고, 저희는 몇몇의 "Smarty" 문법을 포함합니다.
다음은 그러한 맞추혐 모듈의 내용물의 예제이며, 저는 다음과 같이 부를 것을 제안하는 바입니다
"perspective_autoswitch"
"perspective_autoswitch" 플러그인은 "pagetop" 에 할당되어야하며 숨기려면 "nobox=y" 로 변수를 가져야 합니다.
{if isset($objectCategoryIds) and in_array(1, $objectCategoryIds)} {wiki}{literal}{REDIRECT(perspective=1) /}{/literal}{/wiki} {elseif isset($objectCategoryIds) and in_array(2, $objectCategoryIds)} {wiki}{literal}{REDIRECT(perspective=2) /}{/literal}{/wiki} {elseif isset($objectCategoryIds) and in_array(7, $objectCategoryIds)} {wiki}{literal}{REDIRECT(perspective=3) /}{/literal}{/wiki} {elseif isset($objectCategoryIds) and in_array(9, $objectCategoryIds)} {wiki}{literal}{REDIRECT(perspective=4) /}{/literal}{/wiki} {elseif isset($objectCategoryIds) and in_array(10, $objectCategoryIds)} {wiki}{literal}{REDIRECT(perspective=5) /}{/literal}{/wiki} {elseif isset($objectCategoryIds) and in_array(11, $objectCategoryIds)} {wiki}{literal}{REDIRECT(perspective=6) /}{/literal}{/wiki} {elseif isset($objectCategoryIds) and in_array(12, $objectCategoryIds)} {wiki}{literal}{REDIRECT(perspective=7) /}{/literal}{/wiki} {/if}
힌트:
- 모듈이 작동하게 하려면 "템플릿에서 사용되는 범주" 라는 선호설정이 반드시 활성화 되어야만 합니다 (tiki.admin.php?page=category)
- 불필요하게 서버의 로드를 확장하지 않으려면, 모듈을 영향받는 범주에만 지정할 것을 제안합니다.
- 각각의 영향받는 범주에서 Redirect 플러그인이 승인되어야하며 혹은 tiki-plugins.php 에서 해당 플러그인을 승인해야 합니다.
향후에 더 견고한 기본 모듈을 개발할 가능성도 있습니다.