web-dev-qa-db-fra.com

Ubercart Produit Quantité Nombre dans la page Vue de produit Afficher comme SMSUNG 2/10 VENDU?

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?

3
Ram

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.

1
Jayendra Kainthola
         <?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.

0
Ram