it-swarm.dev

연락처 양식에서 컨텐츠 번역 링크 제거

작업중인 사이트에서 문제를 진단하는 데 어려움을 겪고 있습니다. 다국어 사이트에서 기본적으로 Drupal 노드의 맨 아래에 "컨텐츠 번역 링크"를 배치합니다. 언어 전환기 블록을 위해 컨텐츠 번역 링크를 비활성화했습니다.) 연락처 모듈에서 양식 하단에 콘텐츠 번역 링크와 같은 모양이 있습니다 (아래 스크린 샷 참조).

screenshot of contact form

스크린 샷에서 원하지 않는 번역 링크는 # 1로 표시되고 언어 스위처 블록은 # 2로 표시됩니다.

/ admin/settings/language/i18n에서 "콘텐츠 번역 링크 숨기기"를 선택했지만 어떤 이유로 든 문의 양식에 적용되지 않는 것 같습니다.

지금까지 나는이 링크가 $ content 변수를 통해 전달되고 있음을 추론 할 수있었습니다 .page.tpl.php에서 print $content를 제거하면 링크 (물론 연락처 양식뿐만 아니라) )가 사라집니다. 또한 링크는 연락처 양식 자체의 일부로 취급되는 것 같습니다. 패널 사이트 연락처 페이지 재정의를 사용하려고 할 때 연락처 양식 위젯을 추가 할 때마다 링크가 포함되었습니다.

이것이 아마도 "국지화 된"(의도하지 않은 말장난을 용서) 질문이라면 사과하지만 연락처 양식 페이지에서 이러한 콘텐츠 번역 링크를 제거하는 방법을 찾는 데 도움을 주시면 감사하겠습니다. 한편으로는 이것이 예상되는 기본 동작인지 의심 스럽기 때문에 설정을 넘어서거나 어딘가에서 설정을 놓친 것 같습니다. 그러나 동시에 나는 내가 생각할 수있는 모든 것을 살펴 보았으므로 손실되었습니다.

4
Jay

이것이 문의 양식 문제인 경우 hook_form_alter 또는 CSS입니다.

1
googletorp

Drupal 7을 사용하면 node_tpl.php에 hide($content['language']);을 넣을 수 있습니다.

2
Lucian Neghina

해당 버튼을 숨기려면 CSS Injector 모듈을 사용하고 해당 데이터에 적용 할 CSS 클래스를 만들고 display:none !important. Drupal 훅을 사용할 필요는 없습니다.

2
Manuel

이것은 Drupal 6 문제 일뿐 만 아니라, 문제를 해결 하고이 토론을 찾을 때까지 Drupal 7)에 대해 동일한 문제가있었습니다. 내 해결책은 template_preprocess_node() template.php에서 $variables['content']['links']['translation']를 설정 해제하면됩니다.

Laxman과 달리 node.tpl.php의 $content['language']에서 데이터를 찾을 수 없으며 그러한 변수가 존재하지 않는다고 생각합니다. var_dump($content['language']);으로 이것을 시도하면 빈 결과가 나타납니다. 그러나 var_dump($content['links']['translation']);은 현재 노드가 어떤 언어로 번역했는지에 대한 정보를 포함하는 배열을 만듭니다.

Drupal API에서 translation_node_view 에 대해 많은 도움을 받았습니다.

1
tscok