function uc_product_tokens in Ubercart 8.4
Same name and namespace in other branches
- 7.3 uc_product/uc_product.tokens.inc \uc_product_tokens()
Implements hook_tokens().
File
- uc_product/
uc_product.tokens.inc, line 125 - Token hooks for the uc_product module.
Code
function uc_product_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) {
$replacements = [];
if ($type == 'node' && !empty($data['node']) && uc_product_is_product($data['node'])) {
$product =& $data['node'];
foreach ($tokens as $name => $original) {
switch ($name) {
case 'product:model':
$replacements[$original] = $product->model->value;
break;
case 'product:cost':
case 'product:cost:formatted':
$replacements[$original] = uc_currency_format($product->cost->value);
break;
case 'product:price':
case 'product:price:formatted':
$replacements[$original] = uc_currency_format($product->price->value);
break;
case 'product:cost:raw':
$replacements[$original] = $product->cost->value;
break;
case 'product:price:raw':
$replacements[$original] = $product->price->value;
break;
case 'product:weight':
case 'product:weight:formatted':
$replacements[$original] = uc_weight_format($product->weight->value, $product->weight->units);
break;
case 'product:weight:raw':
$replacements[$original] = $product->weight->value;
break;
case 'product:weight:units':
$replacements[$original] = $product->weight->units;
break;
case 'product:length':
case 'product:length:formatted':
$replacements[$original] = uc_length_format($product->dimensions->length, $product->dimensions->units);
break;
case 'product:width':
case 'product:width:formatted':
$replacements[$original] = uc_length_format($product->dimensions->width, $product->dimensions->units);
break;
case 'product:height':
case 'product:height:formatted':
$replacements[$original] = uc_length_format($product->dimensions->height, $product->dimensions->units);
break;
case 'product:length:raw':
$replacements[$original] = $product->dimensions->length;
break;
case 'product:width:raw':
$replacements[$original] = $product->dimensions->width;
break;
case 'product:height:raw':
$replacements[$original] = $product->dimensions->height;
break;
case 'product:length:units':
case 'product:width:units':
case 'product:height:units':
$replacements[$original] = $product->dimensions->units;
break;
}
}
return $replacements;
}
}