나는 초보자이며 모듈을 작성하기 시작했다. 하나의 모듈에 여러 개의보기를 추가해야합니다. hook_views_api() 및 hook_views_data()를 사용하여 1 개의 뷰를 추가했습니다. 아무도 단일 모듈에서 더 많은 뷰를 추가 할 수 있습니까?drupal의 사용자 정의 모듈에 뷰를 프로그래밍 방식으로 추가하기.
답변
hook_views_api()을 지정해야합니다. 그렇지 않으면이 훅이 작동하지 않습니다.
는하지만 당신은 당신은 당신이 모듈에 포함 할 뷰를 생성, Views에서 hook_views_default_views()
를 통해이 작업을 수행. 그럼 당신은 기능 hook_views_default_views()를 사용하고과 같이 (뷰에서) 수출 코드를 첨부 :
function yourmodulename_views_default_views() {
// Begin copy and paste of output from the Export tab of a view.
$view = new view;
// ..yadda yadda yadda
// Add view to list of views to provide.
$views[$view->name] = $view;
// Begin copy and paste of output for another view
$view = new view;
// ..yadda yadda yadda
// Add view to list of views to provide.
$views[$view->name] = $view;
return $views
}
반환 $ 뷰를 함수의 끝에서 당신을 위해 모든 뷰를 반환합니다.
고마워요. 하지만 뷰 코드를 작성하고 내보내기는하지 않았습니다. 참조 용으로 내 코드를 추가했습니다. – tina
죄송합니다, 일반적으로 코드를 먼저 내 보낸 다음 모듈에 배치합니다.하지만 처음부터 작성하는 것 같습니다. 처음부터 작성하는 특별한 이유가 있습니까? – inertialmedia
아무도 도와 줄 수 있습니까? – tina
이 주제는 수년 동안 휴면 상태 였지만 적절한 대답이 없었습니다. 그래서 날 허용해라.
위의 문제는보기가 동일한 파일에 나열되어 있다는 것을 지저분하고 조직화되지 않은 것입니다. 아래는 일을하는보다 적절하고 직접적인 방법입니다.
먼저 모듈 디렉토리에 폴더를 만들 것을 권장합니다 (예 : "YOUR_MODULE/views /").
각보기를 가져 오려면 "my_view.inc"과 같은 새 파일을 만들고 하나의 파일을 하나의보기로 만듭니다. 나중에 변경해야하는 경우 원하는보기를 쉽게 찾을 수 있습니다.
그런 다음 가져 오기에 사용할 API를 선언하는 것입니다.
/**
* Implements hook_views_api().
*/
function YOUR_MODULE_views_api() {
return array(
'api' => '3.0',
);
}
api 버전을 선언했으면 다음이 필요합니다. 이것은 무엇을
/**
* Implements hook_views_default_views().
*/
function YOUR_MODULE_views_default_views() {
$views = array();
$path = drupal_get_path('module', 'YOUR_MODULE') . '/views/*.inc';
foreach(glob($path) as $file) {
require_once $file;
$views[$view->name] = $view;
unset($view);
}
return $views;
}
는 하위 디렉토리 내부의 모든 "my_view.inc"파일을 찾을하고 캐시 지우기 후에 자동으로 그들 모두를로드 할 것이다.
희망이 있다면 여전히 도움이 될 것입니다.
- 1. 프로그래밍 방식으로 MainActivity에 사용자 정의 ImageView 추가하기
- 2. UICollectionViewController의 뷰를 "프로그래밍 방식으로"슈퍼 뷰에 추가하기
- 3. 프로젝트에 사용자 정의 글꼴 추가하기, 프로그래밍 방식으로 항목을 plist에 추가
- 4. 프로그래밍 방식으로 ScrollBar 사용자 정의
- 5. 프로그래밍 방식으로 뷰를 확대
- 6. 프로그래밍 방식으로 Android의 사용자 정의보기에 하위보기 추가하기
- 7. drupal의 사용자 정의 페이지
- 8. drupal의 사용자 정의 데이터
- 9. ImageButton을 프로그래밍 방식으로 추가하기
- 10. ImageView를 레이아웃에 프로그래밍 방식으로 추가하기
- 11. 프로그래밍 방식으로 사용자 정의 레이아웃을 프로그래밍 방식으로 만들려면
- 12. 안드로이드 - 프로그래밍 방식으로 뷰를 배치
- 13. 뷰를 프로그래밍 방식으로 숨기는 방법?
- 14. 뷰를 프로그래밍 방식으로 전환하려면 어떻게해야합니까?
- 15. UIView 또는 UIViewController에 프로그래밍 방식으로 뷰를 작성해야합니까?
- 16. drupal의 사용자 정의 cron 작업
- 17. 모듈 drupal의 사용자 정의 7
- 18. drupal의 사용자 정의 아이콘 블록
- 19. drupal의 사용자 정의 선택 상자
- 20. drupal의 fancybox에있는 사용자 정의 컨텐츠
- 21. 프래그먼트에 버튼을 프로그래밍 방식으로 추가하기
- 22. 프로그래밍 방식으로 configChanges = "locale"추가하기
- 23. 프로그래밍 방식으로 TabBarController에 NagivationController 추가하기
- 24. WordPress - 위젯을 프로그래밍 방식으로 추가하기
- 25. 프로그래밍 방식으로 jqgrid에 총계 추가하기
- 26. 파이썬 인터프리터를 프로그래밍 방식으로 추가하기
- 27. LinearLayout에 프래그먼트를 프로그래밍 방식으로 추가하기
- 28. NSView에 NSTableView를 프로그래밍 방식으로 추가하기
- 29. 프로그래밍 방식으로 UINavigation 바 추가하기
- 30. UIImageView에 UIImageView를 프로그래밍 방식으로 추가하기
누구든지 제안 할 수 있습니까? – tina