drupal_render_cache_set
- Versions
- 7
drupal_render_cache_set(&$markup, $elements)
Cache the rendered output of a renderable element.
This is called by drupal_render() if the #cache property is set on an element.
See also
@see drupal_render_cache_get()
Parameters
$markup The rendered output string of $elements.
$elements A renderable array.
Code
includes/common.inc, line 5214
<?php
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.
if (isset($elements['#attached'])) {
$data['#attached'] = $elements['#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);
}
?>Login or register to post comments 