관용구를 확인하십시오 : Drupal에서 분류 학기 페이지를 맞춤화하십시오.

StackOverflow https://stackoverflow.com/questions/1498536

  •  19-09-2019
  •  | 
  •  

문제

Drupal 6 모듈이 특정 조건에서 분류법 용어 페이지가 표시되는 방식을 사용자 정의하려고 노력했습니다. 이것은 테마를 통해 쉽게 달성 할 수 있지만 모듈을 통해이를 수행하는 간단한 방법은없는 것 같습니다.

많은 시험, 오류 및 인터넷 검색 후에, 나는 이것을 달성하는 다음과 같은 방법을 생각해 냈습니다.

잘 작동하는 것 같습니다 느낌 내가 온라인에서 찾은 대체 솔루션보다 훨씬 덜 해킹됩니다. 그러나 나는 많은 Drupal 포럼 페이지의 어느 곳 에서나이 예를 보지 못했다는 사실에 대해 걱정하고 있습니다. 아직 보지 못한이 솔루션에 끔찍한 문제가있을 수 있다고 생각합니다.

이 솔루션에 문제가 발생할 수 있습니까? 아니면 (더 나은) Drupal의 기존 테마 후크를 기반으로하는 방법을 제안 할 수 있습니까?

function foo_menu() {
    // other menu callbacks ... 
    $items['taxonomy/term/%'] = array( 
        'title' => 'Taxonomy term',
        // override taxonomy_term_page
        'page callback' => 'foo_term_page',
        'page arguments' => array(2),
        'access arguments' => array('access content'),
        'type' => MENU_CALLBACK,
    );
    // other menu callbacks
}

function foo_term_page($str_tids = '', $depth = 0, $op = 'page') {
    if ($my_conditions_are_true) {
        // foo_theme_that_page is a copy-paste of taxonomy_term_page
        // that includes the customizations I want
        return foo_theme_that_page($str_tids,$depth,$op);
    } else { //Conditions aren't met. Display term normally
        module_load_include('inc', 'taxonomy', 'taxonomy.pages');
        return taxonomy_term_page($str_tids,$depth,$op);
    }
}
도움이 되었습니까?

해결책

사용하는 것은 어떻습니까 hook_menu_alter() 대신에 hook_menu()? 이렇게하면 모듈 가중치에 대해 걱정할 필요없이 분류가 생성하는 메뉴 항목을 명확하게 변경하거나 마지막으로 추가되는 항목을 변경할 수 있습니다.

그렇지 않으면 모듈 컨텍스트에서 그런 일을하는 방법입니다.

다른 팁

Content.Module 또는 View.Module을 살펴보고 설치 한 경우 구현 방법을 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top