国际电子商务技术 & Magento开发公司

Maishen technologies

Welcome visitor! You canlogin orcreate an account.

热线:+86-0532-58973093

麦神科技有限公司
Mygod Technologies

官方认证开发工程师

浅谈购物车与Ajax

2013年1月19日星期六 Asia/Shanghai下午3:50:56

Ajax的作用主要在于可以不刷新页面实现异步操作,常用于表单控制,但就异步的特点,确实可以在更广的范围使用。

最近观察模板的购物车,发现里面有个“修改”链接,点开之后返回了商品页面,但修改商品属性重新加入购物车时,发现原来的产品还在,变成了两个商品,还需要删除旧的商品。本想修改代码,将逻辑改过来,却由于原本代码并非自己所写,找不到源文件。于是投机取巧,利用Ajax,在单击"修改"链接的时候删除购物车的对应商品,然后返回商品页面。(prototype库)
onmouseup="javascript:new Ajax.Request('<?php echo $this->getDeleteUrl(); ?>',{method:'post',onComplete:function(){window.history.go(-2);}});"
虽然也有弊端,无法防止用户误操作但也基本实现了功能。

另外,我觉得Ajax对购物车非常重要,用户点击了加入购物车之后,执行异步加入购物车的操作,可以让用户继续购买其他物品,这无论从广告学还是从人机工程学角度来讲,都是非常必要的。作为电子商务产品,用户体验应是我们首要考虑的,所以我觉得应当进行算法与逻辑的优化,加强Ajax等技术的利用。

0 Comments | Posted in magento二次开发 By lei sheng

magento 产品列表页显示数量控制显示

2013年1月18日星期五 Asia/Shanghai下午6:28:11

一些客户对产品列表页面的过滤显示数量有要求,碰到的问题是 不知道在哪里改 其实在这两文件里面修改,

在G:\wamp\www\sanxiao\app\code\core\Mage\Catalog\Block\Product\List下的toorbar.php文件protected function _getAvailableLimit($mode)

的这个函数里面加上$perPageValues = array(3=>3,24=>24,12=>12,48=>48); return $perPageValues; 

 

   protected function _getAvailableLimit($mode)    {        if (isset($this->_availableLimit[$mode])) {            return $this->_availableLimit[$mode];        }        $perPageConfigKey = 'catalog/frontend/' . $mode . '_per_page_values';        $perPageValues = (string)Mage::getStoreConfig($perPageConfigKey);        $perPageValues = explode(',', $perPageValues); $perPageValues = array(3=>3,24=>24,12=>12,48=>48); return $perPageValues; $perPageValues = array_combine($perPageValues, $perPageValues);        if (Mage::getStoreConfigFlag('catalog/frontend/list_allow_all')) {            return ($perPageValues + array('all'=>$this->__('All')));        } else {            return $perPageValues;        }    }

在page.phtml注释这两行sanxiao\app\design\frontend\maishen\tidebuy\template\page\html

 <?php //if($this->getShowPerPage()): ?>    <div class="limiter">        <label><?php echo $this->__('Show') ?></label>        <select onchange="setLocation(this.value)">        <?php foreach ($this->getAvailableLimit() as  $_key=>$_limit): ?>            <option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if($this->isLimitCurrent($_key)): ?> selected="selected"<?php endif ?>>                <?php echo $_limit ?>            </option>        <?php endforeach; ?>        </select> <?php echo $this->__('per page') ?>    </div>    <?php //endif ?>.

ok 大功告成.

0 Comments | Posted in Magento开发 By lei sheng

magento网站必须加index.php错误

2013年1月18日星期五 Asia/Shanghai下午5:56:47

如果网页链接必须有index.php

这说明服务器没有开启rewrite_module,需要开启,还有.htacesss文件需要添加

向linux服务器上传,解压缩时,.htacesss文件可能会不存在

0 Comments | Posted By lei sheng

cms page 调用自建模板

2013年1月18日星期五 Asia/Shanghai下午3:59:23

对于后台中的CMS(Content Management System, 网站内容管理系统)建立的page,是存储在数据库的,那么,如果要在这样的页面中使用PHP代码,也就是说,需要使用<?php  ?>标签对,直接在content书写代码是无法实现的。

我们可以创建模板.phtml文件,保存在base/default/template文件夹下的某个位置(建议由自己新建目录),然后在后台CMS_PAGE页面中,建立静态页。在design选项卡中填写XML格式的布局内容,以调用我们所创建的模板文件。以此方法,我们也可以创建不同主题的页面,即在Custom Design中填写限时使用的布局。

注意:CMS_PAGE中所读取的模板是从base/default/template读取的,而不是从其他包中,同时也会加重万恶的数据库负担,所以不建议用这种方法大量创建页面。

0 Comments | Posted in magneto学习 By lei sheng

magento调用static block的三种方式

2013年1月17日星期四 Asia/Shanghai下午5:58:30

调用static block
三个地方三种方式
phtml中
getLayout()->createBlock(‘cms/block’)->setBlockId(‘block_id’)->toHtml() ?>

XML中

<block type=”cms/block” name=”block_name”>
<action method=”setBlockId”><block_id>test_block</block_id></action>
</block>

CMS中

 

0 Comments | Posted By lei sheng
 
  • Mygod Technologies
  • 麦神科技有限公司
  • 香港中路8号
  • 中铁青岛中心大厦A3001
  • 市南区, 青岛, 266000
  • 电话: 0532-5897-3093

订阅我们的最新消息。

我们将严格尊重您的隐私。

关注我们的微信
获取外贸电子商务最新资讯;跨境推广最新策略;电子商务网站技术最新趋势。

2018 Mygod Technologies. 保留所有权. Privacy Policy