【问题标题】:Where am i wrong in drupal 7 php if else statement?如果 else 声明,我在 drupal 7 php 中哪里错了?
【发布时间】:2014-02-07 21:51:49
【问题描述】:

我正在使用 Drupal 7 + Ubercart 3,6。 商店中的某些产品不出售,因此,我插入了一个复选框,因此计划在选中复选框时(例如等于 1)显示售价、数量和添加到购物车。

当checkbox不勾选(等于0)时,会打印:制作查询链接

<?php
  if ($content['field_for_sale']==1)
  {
    print $nid = $node->nid;
    print $nid;
    uc_currency_format($node->sell_price);
  }
  else
  {
    "<a class='colorbox-node' href='http://localhost/drupalgeya99/make_enquirywidth=600&height=600'>Make Enquiry2:</a>";  
  }
?>

它不会显示任何错误,也不会打印 if 和 else 语句。 我哪里错了?

【问题讨论】:

    标签: php drupal if-statement drupal-7 field


    【解决方案1】:

    您尝试打印两次$nid 变量,并且您在else 中错过了print

    <?php 
    if ($content['field_for_sale']==1) {
        $nid = $node->nid; 
        print $nid;
        uc_currency_format($node->sell_price);
    } else {
        print "<a class='colorbox-node' href='http://localhost/drupalgeya99/make_enquirywidth=600&height=600'>Make Enquiry2:</a>";
    }
    ?>
    

    我不知道你的目标,但也许你也想打印 uc_currency_format 像:print uc_currency_format($node-&gt;sell_price);

    【讨论】:

      【解决方案2】:

      @Victor 是的,我也想显示它,但现在它显示我这个错误:

      注意:未定义索引:include() 中的 field_for_sale(第 14 行) C:\Xampp\htdocs\drupalgeya99\themes\corporateclean\node- product.tpl.php)。

      而且它总是向我显示“make enquery”的链接(等于 0)。

      我正在为 ubercart 产品页面使用自定义产品节点模板node-product.tpl.php

      这是我的模板代码:

      <div class="clear"></div>
      <div class="titleprod"><h1><?php print $title ?></h1></div>
      <div class="prodwrap">
      <div class="prodpage">
      <?php print render($content['uc_product_image']['0']);?>
      </div>
      </div>
      <div class="prodlist"><ul>
      <li><h3><a href="#Product_description">Product description</a></h3></li>
      <li><h3><a href="#field_technical">Technical specification</a></h3></li>
      <li><h3><a href="#field_accessoaries">Accessoaries and spare parts</a></h3></li>
      <li><h3><a href="#field_broshure">Broshure</a></h3></li>
      <li><h3><?php 
      if ($content['field_for_sale']==1) {
          $nid = $node->nid; print $nid; 
          print uc_currency_format($node->sell_price);
      } else {
          print "<a class='colorbox-node' href='http://localhost/drupalgeya99/make_enquiry?width=600&height=600'>Make Enquiry:</a>";
      }
      ?></h3></li>
      <li><h3>More information:</h3></li>
      <li><?php print render($content['field_logo_list']);?></li>
      </ul></div>
      <br>
      <div class="clear"></div>
      <br>
      <div class="text-align"><a name="Product_description"></a><?php print render($content['body']);?> </div>
      <br>
      <div class="text-align"><a name="field_technical"></a><?php print render($content['field_technical_specification']);?> </div>
      <br>
      <div class="text-align"><a name="field_table"></a><?php print render($content['field_table']);?> </div>
      <br>
      <div class="text-align"><a name="field_accessoaries"></a> <?php print render($content['field_accessoaries_and_spare_par']);?> </div>
      <br>
      <div class="text-align"><a name="field_broshure"></a> <?php print render($content['field_broshure']);?> </div>
      

      我的布尔字段设置页面: This is my 1st image
      This is second from same page

      我认为我的错误在于布尔字段设置页面,遗漏了一些东西,但我不知道是什么。

      【讨论】:

      • 请安装开发模块并启用它。之后,您可以使用 dpm() 函数来检查可用的变量。例如尝试 dpm($content);和 dpm($node);您的 $content 变量似乎没有您认为它拥有的信息。
      • 也许您要查找的值在$node-&gt;field_for_sale['und'][0]['value'] 中,也可以通过$node-&gt;field_for_sale[LANGUAGE_NONE][0]['value'] 访问
      • 你是个了不起的人,我明白了,谢谢,它就像一个魅力;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多