2

タイトル、本文、および画像フィールドを印刷するビューがあります。ここで、データ属性を画像マークアップに出力できるようにしたいと考えています。現時点では、次の HTML が生成されます。

<img width="578" height="472" src="http://mydomain.com/sites/mydomain.com/files/image-small.jpg" typeof="foaf:Image">

しかし、より大きな画像の URL をデータ属性として提供したいと考えています。このような:

<img width="578" height="472" src="http://mydomain.com/sites/mydomain.com/files/image-small.jpg" typeof="foaf:Image" data-big-image="http://mydomain.com/sites/mydomain.com/files/image-big.jpg" />

どうすればこれを達成できますか?ビュー内で行うことはできますか、それともビュー テンプレートを変更する必要がありますか?

4

2 に答える 2

0

Views PHPフィールドを使用して、Views UI で完全に実行できます。

最初に大きい画像フィールドと小さい画像フィールドの両方を追加してから、それらを表示から除外すると、後で $data オブジェクトを使用して簡単に参照できるようになります。

PHP フィールドを追加し、「値コード」を空のままにします。「出力コード」では、必要な HTML を作成するだけです。

<?php
print '<img src="' . $data->field_your_small_image_field['some']['array'] .
 '" data-big-image="' . $data->field_your_big_image_field['some']['array'] . '" />';
?>`

URL への正確な配列キーを見つけるために、出力コード領域でdsm($data);( Develを有効にして) aを実行します。

于 2012-05-24T14:07:49.787 に答える
0

データのロード全体にアクセスする簡単な方法は、ビュー UI にノード ID フィールドを追加し、ループの前にテンプレート ファイルに次のように入力することです。

  $nid = strip_tags($fields['nid']->content);
  $node = node_load($nid);

$node の var_dump() を実行して、操作できるデータを確認します。

たとえば、イメージ パスを取得するには、次のようにします。

$node->field_cl_image['und'][0]['uri']
于 2012-05-24T08:28:38.747 に答える