문제

나는 attribute.phtml에서 이 코드를 사용하고 있습니다:

<?php 
if ($_data['code'] == 'mobile_design')
{ ?>
<td class="data">
<?php
$_ageValues = $_product->getAttributeText($_data['code']);
$count = 1;
?>
<?php if(is_array($_ageValues)): foreach($_ageValues as $_ageValue): ?>
<?php if($count > 1) { echo ","; } ?>
<?php echo $_ageValue; ?>
<?php $count++; ?>
<?php endforeach; 
else: echo $_product->getAttributeText($_data['code']);
endif; ?>
</td>

코드의 두 번째 줄에서 다음을 볼 수 있습니다. if ($_data['code'] == 'mobile_design') , 여기서 "mobile_design"은 속성입니다. 여기에 속성을 하나 더 추가하고 싶으므로 다음 코드를 사용하고 있습니다.

<?php 
    if (($_data['code'] == 'mobile_design') || ($_data['code'] == 'gendernew')) // please check this line
    { ?>
    <td class="data">
    <?php
    $_ageValues = $_product->getAttributeText($_data['code']);
    $count = 1;
    ?>
    <?php if(is_array($_ageValues)): foreach($_ageValues as $_ageValue): ?>
    <?php if($count > 1) { echo ","; } ?>
    <?php echo $_ageValue; ?>
    <?php $count++; ?>
    <?php endforeach; 
    else: echo $_product->getAttributeText($_data['code']);
    endif; ?>
    </td>

하지만 그건 나한테는 효과가 없어

도움이 되었습니까?

해결책

물론 작동하지 않습니다 ...

($_data['code'] == 'mobile_design') && ($_data['code'] == 'gendernew') 항상 false로 평가됩니다.
만약에 $_data['code'] == 'mobile_design' 그럼 절대 안 돼 gendernew.
또한 만약에 $_data['code'] == 'gendernew' 그럼 절대 안 돼 mobile_design.

따라서 귀하의 표현식은 다음 경우 중 하나로 평가됩니다.

true && false
false && true
false && false

위의 모든 값은 다음과 같이 평가됩니다. false.그것은 논리접속사 101.

두 가지 모두에 대해 코드를 실행하려면 mobile_design 그리고 gendernew 케이스 교체 && ~와 함께 ||.
|| ~이다 논리적 분리

true || false 평가하다 true
false || true 평가하다 true
false || false 평가하다 false

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top