function service_links_render in Service links 7.2
Same name and namespace in other branches
- 5 service_links.module \service_links_render()
- 6.2 service_links.module \service_links_render()
- 6 service_links.module \service_links_render()
Function that render all the selected services.
Parameters
$node: Contains the content structured as a node object. Use the node_load() function to build one or set NULL this variable to consider the current page.
$nodelink: (optional) It determines the kind of render. If TRUE the function return an array of items compatible with the standard Drupal link section. If FALSE return an array of HTML links. Default is FALSE.
$options: (optional) Can assume the value of a valid service style either an array containing the settings to override (look at _service_links_load_settings() for more details).
Return value
An array of HTML links if $nodelink = FALSE, an array of structured links to be themed with theme_links() if $nodelink = TRUE.
9 calls to service_links_render()
- service_links_block_view in ./
service_links.module - Implements hook_block_view().
- service_links_handler_field_service_links::render in ./
service_links_handler_field_service_links.inc - Render the field.
- service_links_node_view in ./
service_links.module - Implements hook_node_view().
- themename_preprocess in ./
template.php - If something doesn't work well try this.
- themename_preprocess_page in ./
template.php - Example 1: Creating the variable '$service_links_rendered' for the template file 'page.tpl.php' containing all the selected services.
File
- ./
service_links.module, line 476 - Adds social network links to the content.
Code
function service_links_render($node, $nodelink = FALSE, $options = NULL) {
$links = array(
'weight' => array(),
'link' => array(),
);
$settings = _service_links_load_settings();
if (empty($settings['link_show'])) {
return array();
}
if (isset($options)) {
if (!is_array($options)) {
$options = array(
'style' => $options,
);
}
$settings = array_merge($settings, $options);
}
_service_links_get_tags($node, $settings);
// Services are filtered in _service_links_load_settings().
$services = service_links_get_links($settings['link_show']);
foreach ($services as $service_id => $service) {
// Load the position.
$links['weight'][] = isset($settings['link_weight'][$service_id]) ? $settings['link_weight'][$service_id] : 0;
// Render the Service.
$links['link'] += _service_links_render($service_id, $service, $settings, $nodelink, $node);
}
if (!empty($links['link'])) {
array_multisort($links['weight'], $links['link']);
}
return !empty($links['link']) ? $links['link'] : array();
}