商品を追加し、その商品の数が10であると言いました。1つ購入した場合、そのように販売された10/1のうちの商品ビューページに表示します。
利用可能な貢献されたモジュール、またはそれを行うカスタムの方法はありますか?商品コンテンツタイプのフィールドとして数量を追加できますが、その後はどうすればよいですか?
在庫の合計および販売済みアイテムを表示するコードスニペット:
$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;
上記のコードは、製品のさまざまなSKU
ごとに在庫レベルをチェックすることを確認してください。製品の属性があり、各属性に異なるSKU
がある場合、製品のstock
ごとにsKU
が表示されます。
「ストック」構成のフレッシュな「Ubercart」インストールで完璧に機能します。
このコードは、テーマディレクトリのnode--product.tpl.php
ファイルに追加できます。
これは答えではありませんが、以下のコードを使用して在庫レベルを見つけることができます。node.tpl.phpに入力して、var $ stock_htmlを適切な場所に印刷します。おそらくnode-product.tpl.php _<?php print $stock_html ?>
_。
_<?php
if ($node->type == 'product') {
$arr_sku = uc_stock_skus($node->nid);
$stock_html .='<table>';
foreach($arr_sku as $sku){
$stocklevel = uc_stock_level($sku);
if ($stocklevel) {
if ($stocklevel < 1) {
$stocklevel = '<span class="nostock">'.$stocklevel.'</span>';
}
$stock_html .='<tr><td>'.$sku.'</td><td>: '.$stocklevel.'</td></tr>';
}
}
$stock_html .='</table>';
}
?>
_
または、これを試すことができます http://www.ubercart.org/comment/60577
<?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";
}
?>
これにより、製品の正確な在庫レベルと販売レベルが出力されます。