4

ビュー表示にカスタム php コード フィールドを追加してビュー php を使用しているので、$data変数を使用できます。カスタム php コード内で、フィールド コレクションの関係で追加されたフィールドをレンダリングしています。

<?php
global $user;
$html = array();

if (count($data->field_field_poi_link) > 0) $html[] = 'foobar';

if ($user->uid != 0 && arg(0) == 'node' && node_access('update', 'foobar', $user)) {
  $nid = arg(1);
  // $html[] = '<a class="inl_edit" href="'.$data->_entity_properties['url'].'/edit?destination=node/'.$nid.'">edit</a>';
  // $html[] = '<a class="inl_del" href="'.$data->_entity_properties['url'].'/delete?destination=node/'.$nid.'">delete</a>';
}
print join("\n",$html);

?>

1 月 10 日にエンティティ API が更新される前は、$data->_entity_properties配列には次のものが含まれていました。

'_entity_properties' => 
  array (
    'url' => 'http://localhost:8888/project/field-collection/field-poi-link/39',
  ),

しかし今では、そのようなものは何も含まれていません。その特定のエントリを編集できません。

http://localhost:8888/project/field-collection/field-pois/74/editビューphpフィールド内のように、各フィールドコレクションの入力されたフィールドデータの特定の値を編集するためのリンクを作成するにはどうすればよいですか?

4

1 に答える 1

1

ビューフックを使用する方が良いかもしれません。これは、views_php よりも安全です。例として、 hook_views_pre_executeを見ることができます

于 2014-01-25T14:57:10.110 に答える