OpenCart:创建自定义产品订单表单

时间:2014-08-23 03:46:20

标签: php templates e-commerce opencart webshop

我正在帮我的一个朋友建立她的网上商店。我们使用的是ThingsForCuties theme和OpenCart 1.5.6.4版。我有一些以前在HTML,CSS,PHP,JS以及大量Wordpress中进行Web开发的经验,如果这很重要,但是我真的不理解MVC模式(如果我是正确的OpenCart是在MVC框架中编写的 - 如果没有纠正我。)

她商店的一些信息以及她将要销售的产品:主要是婴儿用的卧室用品,如床单,枕头,投注套装等。她有一些预制和品牌商品库存,但最重要的是,买家可以订购定制订单,这意味着他/她定义尺寸,颜色,材料等。

我们想在网站上添加一个自定义页面,用户可以在其中发布自定义订单。此自定义页面将具有一些表单元素,例如单选按钮,复选框,textareas(用于订单上的注释)等。会有一个价格计算器(如果没有插件,我可以用JS / PHP编写),它会根据尺寸/材料等计算价格。所以在用户选择了所有内容之后,自定义订单有根据订单的详细信息显示在购物车中,如果他/她改变主意,还必须有一种方法来修改订单。

我不知道从哪里开始。有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

不确定。我认为最好的方法是制作专用的页面模块。我要做的第一件事就是备份或进入我的开发环境。

修改header.tpl(因为我不知道ThingsForCuties主题)

基本上在联系我们之后添加一个链接

  

/index.php?route=page/calc(您可以稍后使用.htaccess进行重写)

OpenCart是MVC,因此可以使用模型,控制器视图。

制作以下文件。

<强> /目录/视图/主题/ {美眉} /template/calc.tpl

<?php echo $header; ?>
<div class="category_header">
    <header>
        <h1>Baby Form</h1>
        <p>My, JS, HTML5 and a little PHP can go here..</p>
    </header>
</div>
<div class="content_stylist">

<?php echo $footer; ?>

<强> /catalog/controller/calc.php

<?php

class ControllerCalc extends Controller{ 
    public function index(){
        $this->language->load('information/information');
        $this->load->model('catalog/information');

        $this->template = 'default/template/calc.tpl';

        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . 'default/template/calc.tpl')) {
            $this->template = $this->config->get('config_template') . 'default/template/calc.tpl';
        } else {
            $this->template = 'default/template/calc.tpl';
        }

        $this->children = array(
            'common/header',
            'common/footer'
        );

        $this->response->setOutput($this->render());
    }

     function calc(){

        // place functions within the class if need

    }

}

function external_sample(){

    // you can have external php too outside the OC framework

}
?>

请参阅自定义管理页面上的帖子,该帖子相同并包含权限问题。正如我之前提到的,您现在可以访问index.php?route = page / calc并尝试使用您的代码,并且可以很好地嵌入它。

这里有广泛的教程。

自定义页面投放

opencart php custom page without using the "information" feature

http://forum.opencart.com/viewtopic.php?t=59542

http://www.kvcodes.com/2013/10/create-custom-admin-page-open-cart/

管理员页面

How to create a custom admin page in opencart?

答案 1 :(得分:0)

反过来说(编程少得多)就是一直使用手边的东西。在OpenCart中,该产品是产品选项

您可以根据需要为产品设置尽可能多的产品选项以及所有可能的表单元素(一些,如文件选择器日期和/或时间选择器 )已经有了jQuery功能。使用一些设计我图像以及您需要的所有选项创建虚拟产品并不是什么大问题。假设您需要客户提取材料,设置尺寸并选择上传其所需打印件的图像并添加注释。只需去管理,目录 - &gt;选项并创建这些新选项(如果没有):

  • 材料,键入select,mandatory,enabled,sort order 1
    • 因为值设置了所有可能的材料(是的,即使你有数百个:-))
  • 长度,输入文字输入,必填,启用,排序顺序2
  • 宽度,输入文字输入,必填,启用,排序顺序3
  • 高度,输入文字输入,必填,启用,排序顺序4
  • 图片,输入文件,非强制,启用,排序顺序5
  • 注释,键入textarea,非强制,启用,排序顺序6

现在只需创建一个新产品,根据需要为其命名,然后为该产品添加和设置所有这些选项。您可能想要设定材料的价格。之后将会有唯一需要的编程 - 实现订购尺寸的期权价格计算。

您可以扩展前端的product.tpl以在JS中包含一些计算器,具体取决于当前的控件。

这可以通过较少的编程工作来实现(尽管需要更多的管理)。