将“添加到购物车”设为一个链接,而不是按钮

时间:2016-12-05 20:16:27

标签: php opencart

在category.tpl中,我改变了:

#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace std;

void changeState(bool gameState){
  string answer;
  cout << "End game? Y/N" << endl;
  cin >> answer;

  if(answer == "Y"){
    gameState = false;
  } else if (answer == "N"){
    gameState = true;
  }    
}

void gameLoop(){
  bool gameState = true;
  while(gameState == true){
    cout << "Game is being played" << endl;
    changeState(gameState);
  }    
}

int main(){    
  gameLoop();  
  return 0;
}

为:

<button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button>

点击添加到购物车现在加载页面背景,仅包含:

  

[]

作为内容。

我正在尝试创建一个“可共享”链接,在复制时(例如,在新闻稿中),点击该链接会自动将该项目添加到您的购物车。

有关如何实现这一目标的任何建议都将非常感激!

2 个答案:

答案 0 :(得分:1)

保持链接href为空并从按钮中获取onclick事件。我必须问一下,为什么不按照自己的意愿设置按钮呢?

答案 1 :(得分:0)

cart.add('<?php echo $product['product_id']; ?>是一个javascript function,可以将带有ajaxPOST方法的产品发送到购物车。 如果您想通过链接执行此操作,则需要使用GET

1)在category.tpl中,而不是:

<button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button>

使用:

<a href="index.php?route=checkout/cart/addToCart&product_id=<?php echo $product['product_id']; ?>"><?php echo $button_cart; ?></a>

2)打开这个文件:

catalog/controller/checkout/cart.php

这是一个与function一起使用的新GET,将其添加到此文件中:

public function addToCart() {
    $this->load->language('checkout/cart');

    if (isset($this->request->get['product_id'])) {
        $product_id = (int)$this->request->get['product_id'];
    } else {
        $product_id = 0;
    }

    $this->load->model('catalog/product');

    $product_info = $this->model_catalog_product->getProduct($product_id);

    if ($product_info) {
        $this->cart->add($product_id);

        // Display success message
        $this->session->data['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart'));

        //redirect to cart page
        $this->response->redirect($this->url->link('checkout/cart'));
    }
}

这会将产品发送到购物车,虽然这是一个简单的功能,添加数量= 1的产品并且不检查产品选项,但是就这样,你可以根据它修改它根据你的需要。

现在,您可以在任何地方分享产品的添加到购物车链接。 (在最新版本2.3.0.2上测试)