Magento 无疑是电商中数一数二的系统,Alan 不从事跨境电商行业的工作已经有三年了,因而对于 Magento也逐渐生疏了(话说它也An eBay Company 变成了An Adobe Company)。趁着中秋假日做了些梳理,产生了一个小需求,就是我们站点中除了销售自己的产品外,还常常会需要链接接其它网站,这种需求最常见于 Affliate Marketing。
首先进入后台 Catalog > Attributes > Manage Attributes(Magento 2 Stores > Attributes > Product),点击 Add New Attribute 按钮添加属性,如 external_link,在Manage Label / Options中输入名称 External Link 点击保存
然后进入Manage Attribute Sets将该属性拖入到对应的属性集中,此时编辑产品即可为该产品添加亚马逊等 Affiliate 外链。
产品页
编辑app/design/frontend/default/your_theme/template/catalog/product/view/addtocart.phtml(如你的主题没有该文件,请从 base 中拷贝一份)
补充:Magento 2中对应文件为app/design/frontend/Vendor/themename/Magento_Catalog/templates/product/view/addtocart.phtml
1 2 3 4 5 6 7 8 9 10 |
<button type="button" title="<?php echo $buttonTitle ?>" id="product-addtocart-button" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span><?php echo $buttonTitle ?></span></span></button> // 修改为 <?php if($_product->getData('external_link')): ?> <a href="<?php echo $_product->getData('external_link') ?>" target="_blank"> // button 部分可替换你希望展示的图片,Shop Now 也可替换为 Shop on Amazon 等 <button type="button" title="<?php echo $buttonTitle ?>" id="product-addtocart-button" class="button btn-cart" ><span><span>Shop Now</span></span></button> </a> <?php else: ?> <button type="button" title="<?php echo $buttonTitle ?>" id="product-addtocart-button" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span><?php echo $buttonTitle ?></span></span></button> <?php endif; ?> |
产品列表页&搜索页
编辑app/design/frontend/default/your_theme/template/catalog/product/list.phtml文件
1 2 3 4 5 6 7 8 9 |
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button> // 修改为 <?php if($_product->getData('external_link')): ?> <a href="<?php echo $_product->getData('external_link') ?>" target="_blank"> <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart"><span><span>Shop Now</span></span></button> </a> <?php else: ?> <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button> <?php endif; ?> |
注:请检查属性设置中的Used in Product Listing是否为 Yes