Views 조차 Design 바꾸고 싶은 경우, Views Theme 기법
뷰는 강력한 컨텐츠 목록/내용 표시 모듈로,
드루팔로 진행하는 프로젝트에서 필수적으로 사용해야 할 모듈이다.
Views는 자유도가 상당히 높은 편이지만,
커스터마이징을 100% 만족할 수는 없다.
이런 경우 Views조차 Design 변경하는 테크닉을 마스터하면
드루팔로 거의 원하는 모든 화면을 만들 수 있겠다.
예를 들어 특정 컨텐츠 목록을 우리가 원하는 형태로 수정/Theme 작업하고 싶은 경우에는,
[hook]_views_pre_render 함수를 이용해서 일부 화면 수정이 가능한데,
이에 관한 자료는 다음의 주소에서 참고할 수 있다.
1. Alter views using pre alter function
http://drupal.org/node/438370
2. [hook]_views_pre_render 함수를 사용한 좋은 예제가 있다.
http://drupal.org/node/422264#comment-1466510
Views 2 Unofficial Tutorials
http://drupal.org/node/322506
1번과 2번 자료를 단순히 합친 예제를 준비해 보았다.
주된 소스 참조처는 위 주소들의 자료들이다.
if($view->name == "foobar") {
//Add code to manipulate the view
}
if (variable_get("해당모듈명_debug", 0) == 1) {
drupal_set_message('pre_render tag : '. $view->tag); // DEBUG
drupal_set_message('<pre>'. print_r($view, TRUE) .'</pre>'); // DEBUG
}
// If set, display link on view
if (variable_get('해당모듈명_view_link', 0) == 1) {
if ($view->tag == 'views태그명') {
$view->display_handler->set_option('footer', '<--귀하의 PHP CODE를 여기에-->');
$view->display_handler->set_option('footer_format', '3');
$view->display_handler->set_option('footer_empty', 0);
}
}
}
- Drupal Major Version:
- Login to post comments
댓글
bs0048님. 아이디어
bs0048님. 아이디어 좋은데요!
저렇게 Views UI에 있는 Basic settings > Theme를 이용하면
해당 뷰는 (항상 고정적인 테마를 이용하니까) 전체 테마가 바뀌더라도 영향을 안받겠네요.
하하 감사합니다.
하하 감사합니다. 사실 다른 방법을 잘 몰라서 저렇게 한 것이지만요 :)
제가 남긴
제가 남긴 댓글입니다 :)