function uc_attribute_node_insert in Ubercart 8.4
Same name and namespace in other branches
- 6.2 uc_attribute/uc_attribute.module \uc_attribute_node_insert()
- 7.3 uc_attribute/uc_attribute.module \uc_attribute_node_insert()
Implements hook_node_insert().
File
- uc_attribute/
uc_attribute.module, line 206 - Ubercart Attribute module.
Code
function uc_attribute_node_insert($node) {
// Set attributes from class attributes.
$connection = \Drupal::database();
$select = $connection
->select('uc_class_attributes', 'ca')
->fields('ca', [
'aid',
'label',
'ordering',
'required',
'display',
'default_option',
])
->condition('pcid', $node
->getType());
// SELECT $node->nid AS nid.
$select
->addExpression(':nid', 'nid', [
':nid' => $node
->id(),
]);
$connection
->insert('uc_product_attributes')
->from($select)
->execute();
// Set options from class options.
$select = $connection
->select('uc_class_attribute_options', 'co')
->fields('co', [
'oid',
'cost',
'price',
'weight',
'ordering',
])
->condition('pcid', $node
->getType());
$select
->addExpression(':nid', 'nid', [
':nid' => $node
->id(),
]);
$connection
->insert('uc_product_options')
->from($select)
->execute();
}