J'ai ajouté un produit et dit qu'il comporte un nombre de dix (de ce produit), si l'on est acheté, je souhaite montrer dans la page de vue du produit sur 10/1 vendu comme ça.
Y a-t-il des modules contribués disponibles, ou une façon personnalisée de le faire? Je peux ajouter la quantité comme champ dans le type de contenu du produit, mais que dois-je faire après cela?
Code des extraits pour afficher l'article total et vendu en stock:
$output = '';
$array_sku = uc_product_get_models($node->nid, FALSE);
foreach ($array_sku as $sku) {
$stock_level = uc_stock_level($sku);
$stock_counts = db_select('uc_order_products', 'up')
->fields('up', array('nid','qty'))
->condition('up.model', $sku, '=')
->execute()
->fetchAll();
$quantity_count = 0;
if(isset($stock_counts)) {
foreach($stock_counts as $stock_count ) {
$quantity_count += $stock_count->qty;
}
}
$total = $stock_level + $quantity_count;
if($total == 0){
$total = 1;
}
$output .= $total . " / " . $quantity_count . " Sold out";
}
print $output;
Veuillez veiller à ce que le code ci-dessus sera le niveau de stock pour chaque autre SKU
du produit. Si l'attribut du produit et que chaque attribut ait différentes SKU
, il affichera la stock
pour chaque sKU
du produit.
Cela fonctionnera parfaitement dans une installation "Ubercart" fraîche avec une configuration de "stock".
Vous pouvez ajouter ce code en node--product.tpl.php
Fichier dans votre répertoire de thème.
<?php
$array_sku = uc_product_get_models($node->nid, FALSE);
foreach ($array_sku as $sku) {
$stock_level = uc_stock_level($sku);
//$stock_count = db_select('uc_order_products', 'up')->fields('up', array('nid'))->condition('up.model', $sku, '=')->execute()->rowCount();
$stock_counts = db_select('uc_order_products', 'up')
->fields('up', array('nid','qty'))
->condition('up.model', $sku, '=')
->execute()
->fetchAll();
$quantity_count = 0;
if(isset($stock_counts))
{
foreach($stock_counts as $stock_count )
{
$quantity_count += $stock_count->qty;
}
}
$total = $stock_level + $quantity_count;
if($total == 0){
$total = 1;
}
$output .= $total . " / " . $quantity_count . " Sold out";
}
?>
Cela produira le niveau de stock exact et le niveau de produit vendu.