function drupal_render_cache_set
drupal_render_cache_set(&$markup, $elements)
Caches the rendered output of a renderable element.
This is called by drupal_render() if the #cache property is set on an element.
Parameters
$markup: The rendered output string of $elements.
$elements: A renderable array.
See also
File
- includes/common.inc, line 6239
- Common functions that many Drupal modules will need to reference.
Code
function drupal_render_cache_set(&$markup, $elements) { // Create the cache ID for the element. if (!in_array($_SERVER['REQUEST_METHOD'], array('GET', 'HEAD')) || !$cid = drupal_render_cid_create($elements)) { return FALSE; } // Cache implementations are allowed to modify the markup, to support // replacing markup with edge-side include commands. The supporting cache // backend will store the markup in some other key (like // $data['#real-value']) and return an include command instead. When the // ESI command is executed by the content accelerator, the real value can // be retrieved and used. $data['#markup'] = &$markup; // Persist attached data associated with this element. $attached = drupal_render_collect_attached($elements, TRUE); if ($attached) { $data['#attached'] = $attached; } $bin = isset($elements['#cache']['bin']) ? $elements['#cache']['bin'] : 'cache'; $expire = isset($elements['#cache']['expire']) ? $elements['#cache']['expire'] : CACHE_PERMANENT; cache_set($cid, $data, $bin, $expire); }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!common.inc/function/drupal_render_cache_set/7.x