divクラスを使用してグリッドビュービューのいくつかの選択されたフィールドをラップする方法


9

私はこれを通り抜けました:

しかし、divクラスを使用してグリッドビュービューの選択したフィールドをラップする方法を理解できません。私の場合、図に示すように、ビューの3つのフィールドをdivクラスにラップします。
ここに画像の説明を入力してください


どういう意味div classですか?通常のdivタグを意味するだけですか?
Beebee 2013年

回答:


11

フィールドの上書きを使用することで、それは本当に簡単です。

まず、(author) User: Pictureおよび(author) User: Nameフィールドを「表示から除外」に設定します。

次に、Content: Post dateフィールドの設定を開き、「結果の書き換え」フィールドセットを開きます。

「このフィールドの出力を書き換える」にチェックを入れます。これにより、現在のフィールドの上にあるすべてのフィールドのトークンが表示される別のフィールドセット「置換パターン」が表示されます。<div>テキストボックスにラッパーを置き、必要なトークンをdivタグの間にコピーするだけです。

ここに画像の説明を入力してください



3

あなたはhook_views_pre_render(&$ views)またはtheme_process_views_view_field()を使用する必要があります

function YOUR_THEME_preprocess_views_view_fields(&$vars) {

  if ($vars['view']->name == 'view_name') {

    foreach( $vars['view']->result as $key => $value) { 
      $add_start_div = '<div class="add_div">';
      $markup_for_field_name_1 = $value->field_name1[0]['rendered']['#markup'] ; 
      $value->field_name1[0]['rendered']['#markup'] = $add_start_div . $markup_for_field_name_1;
      $markup_for_field_name_3 = $value->field_name3[0]['rendered']['#markup'];
      $add_end_div = '</div>';
      $value->field_name3[0]['rendered']['#markup'] = $value->field_name3[0]['rendered']['#markup'] . $add_end_div;
    }
  }
}

いくつかの締めくくりがありません}}
Andrew Welch

2

行スタイルの出力用のテンプレートを作成します(例:views-view-fields--frontpage-promoted-news-story--block.tpl.php)。オプションについては、ビュー->詳細->テーマを参照してください。必要なテンプレートの特定性の名前をコピーして貼り付け、その名前のファイルを作成してから、 'rescan'を実行してDrupalが新しいテンプレートを検出するようにします。

次に、次のようにします。

<?php
$field_vals = [];
foreach($fields as $id => $field){
    $field_vals[$id]= $field->content;
}
?>
<!-- layout fields -->
<div class="promoted-news-story">
<!-- image, title, date, body, link -->
    <div class="promoted-news-story__image-wrap">
        <?php print $field_vals['field_standard_header_image'];?>
    </div>
    <div class="promoted-news-story__content-wrap">
        <h2><?php print $field_vals['title'];?></h2>
        <?php print $field_vals['field_news_date'];?>
        <?php print $field_vals['body'];?>
        <?php print $field_vals['view_node'];?>
    </div>
</div>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.