it-swarm-ko.tech

티저에서만 "제출자"텍스트 제거

노드 디스플레이에서 "제출자"텍스트를 제거하려면 어떻게해야합니까? 노드 자체의 콘텐츠 유형 설정에서 제거 할 수 있지만 티저 만 변경할 수있는 방법이 있습니까? "제출자"텍스트가 표시되지 않습니까?

이 작업을 수행하는 비 전처리 함수 또는 모듈 방식을 찾고 있습니다. 나는 그것을 다루기 위해 내 테마를 사용할 수 없습니다.

나는 너무 사소한 것을 위해 Computed Field 모듈을 사용하지 않기를 바랬습니다.

3
will

해당 설정이 확인되고 정보가 template_preprocess_node () 에 추가됩니다.

이는이를 변경하는 전처리 함수 외에 다른 방법이 없음을 의미합니다. 그러나 완벽하게 작동하는 전처리 함수를 모듈에 추가하는 것을 막을 수는 없습니다. 시스템 테이블의 가중치를 node (아마 0)보다 높게 설정하여 node.module 이후에 모듈이 실행되는지 확인하기 만하면됩니다.

의지에 의한 코드 예 :

.install 파일에서 :

db_update('system')
  ->fields(array('weight' => 1))
  ->condition('type' => 'module')
  ->condition('name' => 'moduleName')
  ->execute();

그리고 .module 파일에서 :

function moduleName_preprocess_node(&$variables) { 
  // Do not display post information on teasers
  if ($variables['teaser']) {
    $variables['display_submitted'] = FALSE;
  }
}
4
Berdir

정규식에 익숙하다면 hook_node_view를 사용하여 $ node-> content에 '#post_render'변수를 추가 할 수 있습니다.

function myModule_node_view($node,$view_mode){
  if($view_mode=='teaser'){
    $node->content['#post_render'][]='myModule_post_render_teaser';
  }
}
function myModule_post_render_teaser($rendered){
  $regex='';//This selector would have to grab the rendered "meta submitted" div
  return preg_replace(etc. etc.);
}
0
Trey