function _google_tag_data_layer_snippet in GoogleTagManager 7
Returns JavaScript data layer snippet or adds items to data layer.
Return value
string|null The data layer snippet or NULL.
2 calls to _google_tag_data_layer_snippet()
- google_tag_snippets in includes/
snippet.inc - Returns JavaScript snippets.
- _google_tag_classes_save in includes/
admin.inc - Stores data layer classes based on current settings.
File
- includes/
snippet.inc, line 106 - Contains the JavaScript snippet insertion code.
Code
function _google_tag_data_layer_snippet(&$classes = array()) {
// Gather data.
$data_layer = _google_tag_variable_clean('google_tag_data_layer', 'dataLayer');
$whitelist = variable_get('google_tag_whitelist_classes', GOOGLE_TAG_WHITELIST_CLASSES);
$blacklist = variable_get('google_tag_blacklist_classes', GOOGLE_TAG_BLACKLIST_CLASSES);
$classes = array();
$names = array(
'whitelist',
'blacklist',
);
foreach ($names as $name) {
google_tag_text_clean(${$name}, 'array');
if (empty(${$name})) {
continue;
}
$classes["gtm.{$name}"] = ${$name};
}
// Build data layer snippet.
$script = $classes ? "var {$data_layer} = [" . drupal_json_encode($classes) . '];' : '';
return $script;
}