Re: [解決済み] 在庫ステータスの条件分岐「在庫僅少」が反映されない。
フォーラム › 使い方全般 › [解決済み] 在庫ステータスの条件分岐「在庫僅少」が反映されない。 › Re: [解決済み] 在庫ステータスの条件分岐「在庫僅少」が反映されない。
2012年3月19日 3:26 AM
#64157
nanbu
キーマスター
usces_have_zaiko()は在庫があるかどうかを返していますので、!usces_have_zaiko()の中では在庫がない時のステータス、elseでは在庫がある時のステータスを表示させると良いかと思います。
このようになります。
<?php $status = usces_get_itemZaiko( 'id' ); ?>
<?php if( !usces_have_zaiko() ) : ?>
<?php if( 2 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス2', 'usces')); ?>
<?php endif; ?>
<?php if( 3 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス3', 'usces')); ?>
<?php endif; ?>
<?php if( 4 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス4', 'usces')); ?>
<?php endif; ?>
<?php else : ?>
<?php if( 0 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス0', 'usces')); ?>
<?php endif; ?>
<?php if( 1 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス1', 'usces')); ?>
<?php endif; ?>
<?php endif; ?>
これを見ていただきますとわかります通り、usces_have_zaiko()の条件分岐を行う必要がございません。
そこでこのようになります。
<?php $status = usces_get_itemZaiko( 'id' ); ?>
<?php if( 0 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス0', 'usces')); ?>
<?php endif; ?>
<?php if( 1 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス1', 'usces')); ?>
<?php endif; ?>
<?php if( 2 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス2', 'usces')); ?>
<?php endif; ?>
<?php if( 3 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス3', 'usces')); ?>
<?php endif; ?>
<?php if( 4 === $status ): ?>
<?php echo apply_filters('usces_filters_single_sku_zaiko_message', __('ステータス4', 'usces')); ?>
<?php endif; ?>
更に、フックを使う必要がなければこのように書くこともできます。
<?php
$status = usces_get_itemZaiko( 'id' );
if( 0 === $status ):
echo 'ステータス0';
elseif( 1 === $status ):
echo 'ステータス1';
elseif( 2 === $status ):
echo 'ステータス2';
elseif( 3 === $status ):
echo 'ステータス3';
elseif( 4 === $status ):
echo 'ステータス4';
endif;
?>
また、この出力は、ステータス名を変えなければこのテンプレートタグと同じです。
<?php echo usces_get_itemZaiko( 'name' ); ?>