필드 레이블에서 콜론을 제거하려면 어떻게합니까?


10

렌더링 된 필드 레이블에서 콜론을 제거 할 수 있기를 원합니다. 예를 들면 다음과 같습니다.

호텔 이름 : to 호텔 이름

field.tpl.php를 복사하여 콜론을 제거했지만 Drupal이 승인하지 않고 콜론을 다른 곳에서 가져옵니다.

template.php 함수로 어떻게 할 수 있습니까?


캐시를 지우셨습니까?
AjitS

예, 여러 번 안돼
blue928


@ blue928 중복 게시물을 참조하십시오. 이렇게하려면 재정의 theme_form_element()해야합니다
Clive

위의 노드 / 수정은 누군가가 내용을 편집 / 입력 할 때 양식에서 콜론을 제거했습니다. 노드에서 레이블을 렌더링 한 후 레이블을 제거해야합니다. .. 따라서 위의 내용과 중복되지 않습니다. 실제로 그 결과를 얻기 위해 해당 솔루션을 구현했습니다.
blue928

답변:


16

답은 field.tpl.php 를 사용하는 입니다. 해당 파일의 소스를 보면 문제의 행을 볼 수 있습니다.

<?php if (!$label_hidden): ?>
  <div class="field-label"<?php print $title_attributes; ?>>
    <?php print $label ?>:&nbsp;
  </div>
<?php endif; ?>

(명확성을 위해 간격과 들여 쓰기 광산).

콜론을 제거하는 것은 위의 행을 다음과 같이 바꾸는 것만 큼 간단합니다.

<?php if (!$label_hidden): ?>
  <div class="field-label"<?php print $title_attributes; ?>>
    <?php print $label ?>&nbsp;
  </div>
<?php endif; ?>

방금 빈 Drupal 설치에서 테스트했으며 완벽하게 작동합니다. 필드 레이블 뒤에 더 이상 콜론이 없습니다.

이미 똑같은 일을하고 있지만 올바른 결과를 얻지 못한다면 한두 가지 생각할 수 있습니다.

  • field.tpl.php의 사용자 정의 버전을 사이트의 활성 테마 폴더가 아닌 모듈 폴더에 넣었습니다 (테마 폴더에 있어야 함).
  • 시스템의 다른 모듈 / 요소는 현재보다 더 강력한 방식으로 field.tpl.php를 재정의합니다. 이러한 경우가 발생하는지 확인하려면 문제가 발생한 위치를 확인하기 위해 항상 활성화 된 각 모듈을 비활성화해야합니다.

콜론은 템플릿 파일에 하드 코딩되어 있으므로 템플릿 전처리 기능으로 변경할 수 없습니다.


아, 실제로 템플릿 파일이 제대로 작동하지 못하게하는 다른 모듈이있었습니다. 유용한 디버깅 지침을 알려 주셔서 감사합니다.
blue928

9

: 난 그냥 출력에 필드 레이블에서 (필드 단위로) 정확히 제거합니다 콜론을 수행하는 모듈 생성 절제술을


확인할 수 있습니다. 이 모듈은 훌륭하게 작동하며 문제에 대한 간단하고 우아한 솔루션입니다.
Mark

2

필드가있는보기 인 경우 필드를 클릭하고 "레이블 작성"에서 "레이블 뒤에 콜론 배치"를 선택 해제하십시오.


2

디스플레이 제품군은 동일한 기능을 제공합니다.

디스플레이 제품군 추가 기능을 사용하는 경우 레이블 앞에 콜론을 제거하는 옵션이 있습니다.

그 경로는 다음과 같습니다. /admin/structure/ds/list/extras/

여기에 이미지 설명을 입력하십시오


1
이것은 콜론을 제거하는 것보다 많은 것을 수행합니다. 커스텀 CSS를 적용했다면 이것을 죽일 것입니다.
Mark

0

필자의 경우 전체 함수를 내 파일 로 복사하고 읽는 행을 변경하여 theme_field()( field.module) 을 재정 의하여 작동했습니다.template.php

$output .= '<div class="field-label"' . $variables['title_attributes'] . '>' . $variables['label'] . '&nbsp;</div>';

시도하기 전에 캐시를 지우십시오.


0

Drupal 8에 대한이 질문에 대한 답을 찾을 수 없었습니다. Drupal 8을 사용하면 기본 테마로 사용하는 경우 Classy 핵심 테마에 CSS 파일 (field.css)이 콜론에 추가됩니다. 테마의 CSS 파일에서 덮어 쓰기 만하면됩니다.

따라서 원래 field.css 파일에서 :

.field--label-inline .field__label::after {
    content: ':';
}

내 테마 CSS 파일에서 콜론을 제거하려면 다음을 수행하십시오.

.field--label-inline .field__label::after {
    content: '';
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.