Hash->extract($row, $field['data_path']);
$url_param_data_paths = '';
$urlWithData = empty($field['url']) ? '#' : h($field['url']);
if (!empty($field['url_params_data_paths'])) {
if (is_array($field['url_params_data_paths'])) {
$temp = array();
foreach ($field['url_params_data_paths'] as $path) {
$temp[] = h($this->Hash->extract($row, $path)[0]);
}
$url_param_data_paths = implode('/', $temp);
} else {
$url_param_data_paths = h($this->Hash->extract($row, $field['url_params_data_paths'])[0]);
}
$urlWithData .= '/' . $url_param_data_paths;
}
$links = array();
foreach ($data_elements as $data) {
if (!empty($data['name'])) {
$field['title'] = $data['name'];
}
if (!empty($data['url'])) {
$data = $data['url'];
}
if (isset($field['url']) && strpos($field['url'], '%s') !== false) {
$url = sprintf(
$field['url'],
$data
);
} elseif (!empty($field['url_params_data_paths'])) {
$url = $urlWithData;
} else {
$url = $data;
}
$links[] = sprintf(
'%s',
h($url),
empty($field['title']) ? h($data) : h($field['title']),
empty($field['title']) ? h($data) : h($field['title'])
);
}
echo implode('
', $links);
?>