You are here

function xmlsitemap_node_xmlsitemap_process_node_links in XML sitemap 7.2

Same name and namespace in other branches
  1. 6.2 xmlsitemap_node/xmlsitemap_node.module \xmlsitemap_node_xmlsitemap_process_node_links()

Process node sitemap links.

Parameters

array $nids: An array of node IDs.

1 call to xmlsitemap_node_xmlsitemap_process_node_links()
xmlsitemap_node_xmlsitemap_index_links in xmlsitemap_node/xmlsitemap_node.module
Implements hook_xmlsitemap_index_links().
1 string reference to 'xmlsitemap_node_xmlsitemap_process_node_links'
xmlsitemap_node_entity_info_alter in xmlsitemap_node/xmlsitemap_node.module
Implements hook_entity_info_alter().

File

xmlsitemap_node/xmlsitemap_node.module, line 69
Default file for XML sitemap node.

Code

function xmlsitemap_node_xmlsitemap_process_node_links(array $nids) {

  // Load no more than 15 nodes at a time.
  if (count($nids) >= 1) {
    $nids_chunks = array_chunk($nids, 15);
    foreach ($nids_chunks as $chunk) {
      $nodes = node_load_multiple($chunk);
      foreach ($nodes as $node) {
        $link = xmlsitemap_node_create_link($node);
        xmlsitemap_link_save($link, array(
          $link['type'] => $node,
        ));
      }

      // Flush each entity from the load cache after processing, to avoid
      // exceeding PHP memory limits if $nids is large.
      entity_get_controller('node')
        ->resetCache($chunk);
    }
  }
}