我通过在视图显示中添加自定义 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',
),
但是现在,它不包含类似的东西。我无法编辑该特定条目。
如何创建一个链接来编辑每个字段集合输入的字段数据(如视图 php 字段中的http://localhost:8888/project/field-collection/field-pois/74/edit
)的一个特定值?
也许如果你使用视图钩子会更好;这比views_php更安全。作为一个例子,您可以看到hook_views_pre_execute