2011-06-22 68 views
0

目前,我們有以下的代碼,顯示一個鏈接,如果報價是可見的:PHP if語句依賴於價值

 <td><?php echo $this->__($_quotation->getstatus()); ?></td> 
     <td class="a-center"> 
      <?php if ($_quotation->isViewableByCustomer()): ?> 
        <a href="<?php echo $this->getViewUrl($_quotation) ?>"><?php echo $this->__('View Quotation') ?></a> 
       <?php endif; ?> 
     </td> 

我們期待以顯示鏈接,如果報價狀態值等於活動已過期但不是待定

我應該如何更改此代碼以反映此?

+0

'$ _quotation'函數中有什麼? – Neal

+1

發佈來自'isViewableByCustomer()'函數的代碼 –

回答

2

我假設你打算如果主動或過期在任何條件下的狀態的細胞,只有鏈接顯示它。至少我是這樣讀你的問題的。

假設$_quotation->getstatus()返回字符串「活動」或「已過期」國際化之前,就這樣添加一些顯示的鏈接狀態功能:

<td><?php echo $this->__($_quotation->getstatus()); ?></td> 
<td class="a-center"> 
    <?php if ($_quotation->isViewableByCustomer() && ($_quotation->getstatus() == "Active" || $_quotation->getstatus() == "Expired")): ?> 
      <a href="<?php echo $this->getViewUrl($_quotation) ?>"><?php echo $this->__('View Quotation') ?></a> 
    <?php endif; ?> 
</td> 

編輯根據下面發表評論,isViewableByCustomer()在這裏不相關,所以請嘗試:

<td><?php echo $this->__($_quotation->getstatus()); ?></td> 
<td class="a-center"> 
    <?php if ($_quotation->getstatus() == "Active" || $_quotation->getstatus() == "Expired"): ?> 
      <a href="<?php echo $this->getViewUrl($_quotation) ?>"><?php echo $this->__('View Quotation') ?></a> 
    <?php endif; ?> 
</td> 
+0

這與活動一起使用,也不顯示掛起,這很好,但過期的鏈接仍然不顯示 –

+1

@Vince Pettit然後有可能'getstatus()'doesn不返回_exactly_字符串「Expired」,而是字符串「Expired」是在國際化__()'後派生的。準確找出'getstatus()'返回的內容。 –

+0

我們遇到以下問題:\t const STATUS_NEW ='New'; \t const STATUS_CUSTOMER_REQUEST ='Pending'; \t const STATUS_ACTIVE ='Active'; \t const STATUS_EXPIRED ='已過期'; –

0
<?php if ($this->__($_quotation->getstatus() == "Active" || $this->__($_quotation->getstatus() == "Expired"){?><td><?php echo $this->__($_quotation->getstatus()); ?></td> 
     <td class="a-center"> 
      <?php if ($_quotation->isViewableByCustomer()): ?> 
        <a href="<?php echo $this->getViewUrl($_quotation) ?>"><?php echo $this->__('View Quotation') ?></a> 
       <?php endif; ?> 
     </td>