-1

当用户点击订单详情链接时,我需要在订单详情页面显示产品图片。

我在 order-detail.tpl 中编辑了下面的代码,但它没有显示产品图像它只显示一些虚拟图像

<td> 
<a href="{$link->getProductLink($product.product_id, $product.link_rewrite, $product.category, null, null, $product.id_shop, $product.id_product_attribute)|escape:'htmlall':'UTF-8'}">
<img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'small_default')}" alt="{$product.name|escape:'htmlall':'UTF-8'}" {if isset($smallSize)}width="{$smallSize.width}" height="{$smallSize.height}" {/if} /></a>

</td>

截屏

4

2 回答 2

1

我想在 PS 1.3 版本中执行此操作,但我也有问题:/ 当我显示 {$product.image|var_dump} 变量时,我得到 NULL

函数 getImageLink($product.link_rewrite, $product.id_image, 'small_default') 运行良好,但问题是从变量 $product.link_rewrite 和 $product.id_image 获取值但不幸的是我不知道如何。

现在它们是空的,等等图片的链接不正确

于 2013-07-21T09:59:03.890 回答
0

如果该页面您可以查看 $product 附带的变量。像这样。

    {$product|var_dump}

你会注意到 $product 有一个数组值 image 这是一个对象

所以现在去吧。

    {$product.image|var_dump}

您将查看所有这些值。

                    object(Image)#490 (26) {
  ["id"]=&gt;
  int(1)
  ["id_image"]=&gt;
  string(1) "1"
  ["id_product"]=&gt;
  string(1) "3"
  ["position"]=&gt;
  string(1) "1"
  ["cover"]=&gt;
  string(1) "1"
  ["image_format"]=&gt;
  string(3) "jpg"
  ["source_index"]=&gt;
  string(52) "/Applications/MAMP/htdocs/prestashop/img/p/index.php"
  ["folder":protected]=&gt;
  NULL
  ["existing_path":protected]=&gt;
  NULL
  ["id_lang":protected]=&gt;
  NULL
  ["id_shop":protected]=&gt;
  int(1)
  ["id_shop_list"]=&gt;
  NULL
  ["get_shop_from_context":protected]=&gt;
  bool(true)
  ["table":protected]=&gt;
  string(5) "image"
  ["identifier":protected]=&gt;
  string(8) "id_image"
  ["fieldsRequired":protected]=&gt;
  array(1) {
    [0]=&gt;
    string(10) "id_product"
  }
  ["fieldsSize":protected]=&gt;
  array(0) {
  }
  ["fieldsValidate":protected]=&gt;
  array(3) {
    ["id_product"]=&gt;
    string(12) "isUnsignedId"
    ["position"]=&gt;
    string(13) "isUnsignedInt"
    ["cover"]=&gt;
    string(6) "isBool"
  }
  ["fieldsRequiredLang":protected]=&gt;
  array(0) {
  }
  ["fieldsSizeLang":protected]=&gt;
  array(0) {
  }
  ["fieldsValidateLang":protected]=&gt;
  array(0) {
  }
  ["tables":protected]=&gt;
  array(0) {
  }
  ["webserviceParameters":protected]=&gt;
  array(0) {
  }
  ["image_dir":protected]=&gt;
  string(43) "/Applications/MAMP/htdocs/prestashop/img/p/"
  ["def":protected]=&gt;
  array(6) {
    ["table"]=&gt;
    string(5) "image"
    ["primary"]=&gt;
    string(8) "id_image"
    ["multilang"]=&gt;
    bool(true)
    ["fields"]=&gt;
    array(3) {
      ["id_product"]=&gt;
      array(3) {
        ["type"]=&gt;
        int(1)
        ["validate"]=&gt;
        string(12) "isUnsignedId"
        ["required"]=&gt;
        bool(true)
      }
      ["position"]=&gt;
      array(2) {
        ["type"]=&gt;
        int(1)
        ["validate"]=&gt;
        string(13) "isUnsignedInt"
      }
      ["cover"]=&gt;
      array(3) {
        ["type"]=&gt;
        int(2)
        ["validate"]=&gt;
        string(6) "isBool"
        ["shop"]=&gt;
        bool(true)
      }
    }
    ["classname"]=&gt;
    string(5) "Image"
    ["associations"]=&gt;
    array(1) {
      ["l"]=&gt;
      array(3) {
        ["type"]=&gt;
        int(2)
        ["field"]=&gt;
        string(8) "id_image"
        ["foreign_field"]=&gt;
        string(8) "id_image"
      }
    }
  }
  ["update_fields":protected]=&gt;
  NULL
}
                                                                                                                You will notice that there is not value of link_rewrite. So you need to pass that from the controller.
于 2013-07-02T18:50:23.737 回答