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); ?>