2016-10-06 15 views
1

これはかなりシンプルなはずですが、私が望む結果は得られません。私は私のすべてのウェブサイトに表示される電子メールサインアップフォームを持っています。彼らが店コードama_brで私のウェブサイトを訪れた場合、電子メールのサインアップは消えます。それはうまく動作します。私のelseifステートメントは、すべてのストアビューで表示されるステートメントとは異なるフォームであり、ストアコードama_caの場合にのみ表示されるようにしてください。それは私のためには機能しませんし、自分のコードに間違いはありません。助けてください。ありがとうございました。html埋め込み条件付きif文PHPの

  <?php if (Mage::app()->getStore()->getCode() != "ama_br"):?> 
       <ul> 
        <li><?php echo $this->__('Email Sign Up')?></li> 
        <li> 
         <form action="<?php echo $this->getUrl('email_preferences')?>" method="get" id="newsletter-validate-detail"> 
          <input name="email" type="text" id="newsletter" placeholder="<?php echo $this->__('Enter Email address')?>" title="<?php echo $this->__('Enter Email address')?>' class="required-entry validate-email"> 
          <button class="submit">+</button> 
          <input type="hidden" name="source" value="nt"> 
         </form> 
        </li> 
        <li class="footer-promo"><?php echo $this->getChildHtml('footer_promo')?></li> 
       </ul> 

      <?php elseif (Mage::app()->getStore()->getCode() == "ama_ca"):?> 
       <ul> 
        <li><?php echo $this->__('Email Sign Up')?></li> 
        <li> 
       <form method="post" action="http://enews.******.com/q/9MNK4U4iV9Mutb9YzTxF2zRWDIPgKoX0F0" accept-charset="UTF-8"> 
         <input type="hidden" name="crvs" value="6hZNXcISD79ac2Empmsr2az_B3Qc5osTNmkOdNHleqhPIYmsxEOe6PbgaUo-3WBn_Vbgorrbk4qjekx7w4tljA"> 
         <input type="hidden" name="CheckBox.Source.ca_footer" value="on"> 
         <input name="email" type="text" id="newsletter" placeholder="Enter Email address" title="Enter Email address' class=" required-entry=""> 
         <input type="hidden" id="submit" value="Sign Up"> 
         </form> 
        </li> 
        <li class="footer-promo"><?php echo $this->getChildHtml('footer_promo')?></li> 
       </ul> 
      <?php endif;?> 
+2

ロジック。 'if'の1ブロックだけが実行されます。 '!=' ama_ca '!=' ama_br''はTRUEであり、そのブロックは実行され、 '== 'ama_ca'が続くものは全部スキップされます。 –

+0

まず、「ama_ca」のチェックを入れてください。 – Barmar

+0

@ thismethodあなたの質問を解決する私の答えを参照してください –

答えて

1

説明 あなたはすべてのものの権利を行っているが、あなたは自分のコードは、それがama_caに等しくすることが可能であること ama_br に等しいされていない場合は、あなたのif文のロジックに慎重にトリックを見て欠場ので、それはあなたがコードに表示しようとしているフォームが表示されていない ama_ca に等しい ama_br から ama_caだけでなく、他の文字列にためのif文でフォームを表示します。次のいずれかを試して、クエリを解決してください。

コード

 <?php if (Mage::app()->getStore()->getCode() == "ama_ca"): ?> 
      <ul> 
      <li><?php echo $this->__('Email Sign Up') ?></li> 
      <li> 
      <form method="post" action="http://enews.******.com/q/9MNK4U4iV9Mutb9YzTxF2zRWDIPgKoX0F0" accept-charset="UTF-8"> 
      <input type="hidden" name="crvs" value="6hZNXcISD79ac2Empmsr2az_B3Qc5osTNmkOdNHleqhPIYmsxEOe6PbgaUo-3WBn_Vbgorrbk4qjekx7w4tljA"> 
      <input type="hidden" name="CheckBox.Source.ca_footer" value="on"> 
      <input name="email" type="text" id="newsletter" placeholder="Enter Email address" title="Enter Email address' class=" required-entry=""> 
      <input type="hidden" id="submit" value="Sign Up"> 
      </form> 
      </li> 
      <li class="footer-promo"><?php echo $this->getChildHtml('footer_promo') ?></li> 
     </ul> 

     <?php elseif (Mage::app()->getStore()->getCode() != "ama_br"): ?> 
      <ul> 
      <li><?php echo $this->__('Email Sign Up') ?></li> 
      <li> 
       <form action="<?php echo $this->getUrl('email_preferences') ?>" method="get" id="newsletter-validate-detail"> 
       <input name="email" type="text" id="newsletter" placeholder="<?php echo $this->__('Enter Email address') ?>" title="<?php echo $this->__('Enter Email address') ?>' class="required-entry validate-email"> 
        <button class="submit">+</button> 
       <input type="hidden" name="source" value="nt"> 
       </form> 
       </li> 
       <li class="footer-promo"><?php echo $this->getChildHtml('footer_promo') ?></li> 
      </ul> 
     <?php endif; ?> 

OR

 <?php if (Mage::app()->getStore()->getCode() != "ama_br" && Mage::app()- >getStore()->getCode() != "ama_ca"): ?> 
      <ul> 
      <li><?php echo $this->__('Email Sign Up') ?></li> 
      <li> 
      <form action="<?php echo $this->getUrl('email_preferences') ?>" method="get" id="newsletter-validate-detail"> 
      <input name="email" type="text" id="newsletter" placeholder="<?php echo $this->__('Enter Email address') ?>" title="<?php echo $this->__('Enter Email address') ?>' class="required-entry validate-email"> 
        <button class="submit">+</button> 
        <input type="hidden" name="source" value="nt"> 
      </form> 
     </li> 
     <li class="footer-promo"><?php echo $this->getChildHtml('footer_promo') ?></li> 
     </ul> 

     <?php elseif (Mage::app()->getStore()->getCode() == "ama_ca"): ?> 
     <ul> 
      <li><?php echo $this->__('Email Sign Up') ?></li> 
     <li> 
     <form method="post" action="http://enews.******.com/q/9MNK4U4iV9Mutb9YzTxF2zRWDIPgKoX0F0" accept-charset="UTF-8"> 
      <input type="hidden" name="crvs" value="6hZNXcISD79ac2Empmsr2az_B3Qc5osTNmkOdNHleqhPIYmsxEOe6PbgaUo-3WBn_Vbgorrbk4qjekx7w4tljA"> 
      <input type="hidden" name="CheckBox.Source.ca_footer" value="on"> 
      <input name="email" type="text" id="newsletter" placeholder="Enter Email address" title="Enter Email address' class=" required-entry=""> 
      <input type="hidden" id="submit" value="Sign Up"> 
     </form> 
    </li> 
     <li class="footer-promo"><?php echo $this->getChildHtml('footer_promo') ?></li> 
    </ul> 
    <?php endif; ?> 
+0

ありがとうございました@Ahmer。私はロジックがどのように動作し、コードが少ないかに基づいて最初の答えを使用しています。 – thismethod