如何在ecshop首页给商品加入立即购买与收藏按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ecshop首页给商品加入立即购买与收藏按钮相关的知识,希望对你有一定的参考价值。

在ecshop首页给商品加入立即购买与收藏按钮,直接模板当中操作修改,无需修改任何php代码。
第一步:首先查看商品分类页面里商品列表的代码,找出添加立即购买按钮的代码。
在模板文件夹的-library文件夹里的goods_list.lbi文件,代码如下:

<p>
<a href=”javascript:addToCart($goods.goods_id)”><img src=”images/but_buy.jpg”></a>
<a href=”javascript:collect($goods.goods_id)”><img src=”images/but_coll.jpg”></a>
<a href=”javascript:;” id=”compareLink”onClick=”Compare.add($goods.goods_id,’$goods.goods_name|escape:”quotes”’,'$goods.type’)”><img src=”images/but_comp.jpg”></a>
</p>

第二步:修改此段代码,将$goods.goods_id修改为$goods.id,并删除“对比按钮”的代码(如果需要不删除也行)。
即整段代码如下:
<p>
<a href=”javascript:addToCart($goods.id)”><img src=”images/but_buy.jpg”></a>
<a href=”javascript:collect($goods.id)”><img src=”images/but_coll.jpg”></a>
<a href="javascript:;" id="compareLink"html"','$goods.type')">比较</a>
</p>

第三步:找到新品上市、热销商品、精品推荐这3个模块对于的lbi文件。
在模板文件夹的-library文件夹里,分别为:recommend_best.lbi,recommend_hot.lbi,recommend_new.lbi。并打开添加代码。 同第二步一样加入立即购买按钮。

第四步:此时首页的商品列表以及可以显示“购买”“对比”和“收藏”的按钮了,但是如果是有增加商品类型属性的商品点击“购买”和“对比”是无反应,这需要为“购买”添加选择商品属性的代码,为“对比”添加动态创建对比js。
如下:
在模板文件夹的-library文件夹里的goods_list.lbi文件底部插入如下代码:

<script type="Text/Javascript" language="JavaScript">
<!--
literal
function selectPage(sel)

sel.form.submit();

/literal
//-->
</script>
<script type="text/javascript">
window.onload = function()

Compare.init();
fixpng();

foreach from=$lang.compare_js item=item key=key
if $key neq 'button_compare'
var $key = "$item";
else
var button_compare = '';
/if
/foreach
var compare_no_goods = "$lang.compare_no_goods";
var btn_buy = "$lang.btn_buy";
var is_cancel = "$lang.is_cancel";
var select_spe = "$lang.select_spe";
</script>
很多朋友都是忘记这一步,导致购买出现JS报错!

第五步:找到首页代码insert_scripts files='common.js,index.js'修改成insert_scripts files='common.js,index.js,compare.js,global.js',谨记:这个代码不改的话,“对比”功能讲无法使用。

第六步:粘贴代码至recommend_best.lbi,recommend_hot.lbi,recommend_new.lbi三个文件的</div>之后. 也可以直接在index.dwt文件里引入。一次就可以! 无需重复

第七步:可以保存上传至服务器测试了,购物和收藏按钮均可正常使用,接下来的就是修改css样式表,因为添加了2个按钮,首页的商品列表会不对称或者2个按钮不再同一行,只要修改模板文件夹里的css样式表,将商品列表里的缩略图宽度及间隔修改即可。
希望能帮到您!
参考技术A 改代码
改模板文件,将模板文件加上这些东西
另外在样式上也做修改
这样前端和后端都改后就可以了
希望能帮助到你

在 PHP 中创建动态 PayPal 立即购买按钮

【中文标题】在 PHP 中创建动态 PayPal 立即购买按钮【英文标题】:Create dynamic PayPal buy now button in PHP 【发布时间】:2015-05-09 11:19:21 【问题描述】:

目前我正在使用 PayPal 按钮来接收用户的付款。我有一个网站可以自动计算特定商品的邮费,我想更新 PayPal 页面上的成本以反映运费。我该如何做到这一点?

我认为应该有一种方法可以在 PayPal 中动态创建加密的 PayPal“立即购买”按钮,然后将该表单显示给用户,但有关如何执行此操作的文档很分散。

如果可能,我想避免在数据库中记录交易并进行验证。我只想要一个 PayPal 按钮,我可以安全地更改运费,不允许用户手动设置费用。

【问题讨论】:

【参考方案1】:

按照说明创建 PayPal 证书:https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/encryptedwebpayments/#id08A3I0P20E9

在 PHP 中:

define('OPENSSL', '/usr/bin/openssl');

class PayPal 
    public function __construct() 
        $this->key_file = 'my-prvkey.pem';
        $this->cert_file = 'my?pubcert.pem';
        $this->paypal_key = 'paypal_cert.pem';
        $this->button = array(
            'cert_id' => 'YOUR CERT ID',
            'cmd' => '_xclick',
            'business' => 'YOUR PAYPAL EMAIL',
            'lc' => 'US',
            'item_name' => 'ITEM NAME',
            'amount' => 'X',
            'currency_code' => 'USD',
            'button_subtype' => 'services',
            'no_note' => '0',
            'bn' => 'PP-BuyNowBF:btn_buynow_LG.gif:NonHostedGuest'
        );
    

    public function create_form($shipping) 
        $this->button['shipping'] = $shipping;
        return '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"><input name="cmd" type="hidden" value="_s-xclick" />
<input name="encrypted" type="hidden" value="'.$this->encrypt().'" />
<input type="image" src="https://www.paypalobjects.com/en_AU/i/btn/btn_buynow_LG.gif" border="0" name="submit" >
<img src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif"    border="0" /></form>';
    

    private function encrypt() 
        $data = '';
        foreach ($this->button as $key => $value) 
            if ($value) $data .= "$key=$value\n";
        

        $cmd = '('.OPENSSL." smime -sign -signer $this->cert_file -inkey $this->key_file " .
            "-outform der -nodetach -binary <<_EOF_\n$data\n_EOF_\n) | " .
            OPENSSL." smime -encrypt -des3 -binary -outform pem $this->paypal_key";

        exec($cmd, $output, $error);
        return implode("\n", $output);
    

然后输出动态的PayPal表单:

$paypal = new Paypal();
echo $paypal->create_form(20);

【讨论】:

【参考方案2】:

考虑使用被 PayPal 收购的 Braintree 来实现更简化的 PayPal。

要回答您的问题,您应该在将购买数据发送到 PayPal 之前进行邮资计算,以便用户确认最终金额。

我不熟悉这些按钮,但它们的实现需要考虑到运费的波动。

显然,在用户确认较低/不同的价格后,PayPal 将不允许更改价格。

【讨论】:

Braintree 似乎并不容易。我已经有邮资计算,我想知道如何将购买数据发送到 PayPal。这就是我的问题。 代码不相关。我正在寻找可以创建按钮或将用户重定向到 PayPal 结帐页面的代码。一个 API、一个库、任何东西。 PayPal 文档太差了,让人无法忍受。 我会再次建议您看看 Braintree 的 PayPal php 库。非常简单。 可能是这样,但由于业务限制,我目前无法使用Braintree。我专门寻找 PayPal 解决方案,而不是 Braintree PayPal 解决方案。

以上是关于如何在ecshop首页给商品加入立即购买与收藏按钮的主要内容,如果未能解决你的问题,请参考以下文章

ecshop首页如何调用文章内容及缩略图

淘宝怎么添加购物车

ecshop首页如何调用分类下的子分类商品

商品规格选择弹窗设计总结

在 PHP 中创建动态 PayPal 立即购买按钮

淘宝网页的立即购买是如何触发的。(前段技巧)