web-dev-qa-db-ja.com

現在のノードの言語名を取得するにはどうすればよいですか?

ディスプレイスイートの現在のノードの言語の名前を取得する方法を理解しようとしています。動的フィールドコンテンツセレクターのいずれかのノードカテゴリの下に言語オプションが見つかりましたが、名前ではなく言語コードが出力されます。これを前処理関数で処理する必要がありますか、またはこれを取得できなかった方法はありますか?

2
UltraBob

クリッカーに利用できるものが何も見つかりませんでした。私は次の代替案を提案できます:

  1. 「Display Suite Format」モジュールをアクティブにします
  2. 次の内容でDisplay Suiteの「コードフィールド」を作成します。

    <?php
      return t(locale_language_name($entity->language));
    ?>
    
  3. このコードフィールドの「Display Suite code」テキストフォーマットをアクティブにすることを忘れないでください。
  4. このコードフィールドをコンテンツタイプのディスプレイに追加してください!

お役に立てれば!

2

これが私がやったことです。私はより良い答えが大好きです:

私のテーマのtemplates.php内(表示スイートで作成した動的フィールドは言語と呼ばれます):

function MYTHEME_preprocess_field(&$variables) {
    if ($fieldname == 'language') {
        $item['#markup'] = locale_language_name($item['#markup']);
    }
}
0
UltraBob