it-swarm-ja.com

フィールドラベルからコロンを削除するにはどうすればよいですか?

レンダリングしたフィールドラベルからコロンを削除できるようにしたいだけです。次に例を示します。

ホテル名:ホテル名へ

私はfield.tpl.phpをコピーしてそこでコロンを削除しましたが、Drupalはそれを受け入れることを拒否し、他の場所からコロンをプルしています。

Template.php関数でこれを行うにはどうすればよいですか?

10
blue928

答えは間違いなく 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インストールでそれをテストしました、そしてそれは完全に機能します;フィールドラベルの後にもはやコロンはありません。

既に同じことを行っているが、正しい結果が得られない場合は、1つまたは2つの問題が考えられます。

  • カスタムバージョンのfield.tpl.phpを、サイトのアクティブなテーマフォルダー(テーマフォルダーにある必要があります)ではなく、モジュールフォルダーに配置しました。
  • システムの別のモジュール/要素もfield.tpl.phpをオーバーライドしています。これは、現在よりも堅牢な方法です。これが当てはまるかどうかを確認するには、有効な各モジュールを常に面倒に無効にして、問題の原因を特定する必要があります。

コロンはテンプレートファイルにハードコードされているため、テンプレートの前処理関数で変更を加えることはできません。

16
Clive

これを正確に実行し、出力のフィールドラベルからコロンを(フィールドごとに)削除するモジュールを作成しました: Colectomy

9
tanc

フィールドのあるビューの場合は、フィールドをクリックして、[ラベルの作成]の下にある[ラベルの後にコロンを配置する]チェックボックスをオフにします。

2
Tyler Durden

Display suiteも同じ機能を提供します。

ディスプレイスイートの追加機能を有効にした場合、ラベルの前にあるコロンを削除するオプションがあります。

そのためのパスは:/admin/structure/ds/list/extras/

enter image description here

2
chrisjlee

私の場合、関数全体を_field.module_ファイルにコピーして、読み取る行を変更することにより、theme_field()(_template.php_)をオーバーライドすることで機能しました

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

試行する前にキャッシュをクリアしてください。

0
Meetai.com

Drupal 8の場合、この質問に対する回答は見つかりませんでした。Drupal 8では、コロンがCSSファイル(field.css)で追加されています。 Classyコアテーマをベーステーマとして使用している場合は、テーマの独自のCSSファイルでそれをオーバーライドするだけです。

元のfield.cssファイルから:

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

コロンを削除する私のテーマのCSSファイル:

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