用手机打开ecshop网店,就会被重定向到mobile文件夹,如果打开wap功能,就能看到wap版的网站。但现在智能手机横行,iphone、安卓可以跟电脑一样浏览和购物,这个wap功能就有点鸡肋。现在把它屏蔽掉
编辑index.php,注释或者删除掉以下代码
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile)/i";
if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))
{
$Loaction = 'mobile/';
if (!empty($Loaction))
{
ecs_header("Location: $Loaction\n");
exit;
}
}
由于要在Google Analytics里面跟踪用户搜索,但ecshop的搜索url都是转义过的一些乱码,修改search.php使用原本的搜索链接
有兴趣能力的朋友还可以直接做成伪静态,参考文章
http://www.phpsir.com/tag/ecshop-search-%E6%90%9C%E7%B4%A2
我这里不做伪静态,只需要修改search.php即可
注释掉search.php行18-行66
然后加入
|
1
2
3
|
$string["keywords"]=addslashes($_GET["keywords"]);
$string["page"]=addslashes($_GET["page"]);
$string["search_encode_time"] = $_SERVER["REQUEST_TIME"];
|
可以在分类页面根据商品属性进行筛选,打开模板category.dwt,在合适位置添加以下代码
<!--组合搜索 开始-->
<!--{/foreach}-->
</div>
</div
<div></div
<!-- {/if} --
<!--组合搜索 结束-->
<!--组合搜索 开始-->
<!--{if $brands.1 || $price_grade.1 || $filter_attr_list}-->
<div class="box">
<div class="box_1">
<h3><span>{$lang.goods_filter}</span></h3>
<!--{if $brands.1}-->
<div class="screeBox">
<strong>{$lang.brand}:</strong>
<!--{foreach from=$brands item=brand}-->
<!-- {if $brand.selected} -->
<span>{$brand.brand_name}</span>
<!-- {else} -->
<a href="{$brand.url}">{$brand.brand_name}</a>
<!-- {/if} -->
<!--{/foreach}-->
</div>
<!--{/if}-->
<!--{if $price_grade.1}-->
<div class="screeBox">
<strong>{$lang.price}:</strong>
<!--{foreach from=$price_grade item=grade}-->
<!-- {if $grade.selected} -->
<span>{$grade.price_range}</span>
<!-- {else} -->
<a href="{$grade.url}">{$grade.price_range}</a>
<!-- {/if} -->
<!--{/foreach}-->
</div>
<!--{/if}-->
<!--{foreach from=$filter_attr_list item=filter_attr}-->
<div class="screeBox">
<strong>{$filter_attr.filter_attr_name|escape:html} :</strong>
<!--{foreach from=$filter_attr.attr_list item=attr}-->
<!-- {if $attr.selected} -->
<span>{$attr.attr_value}</span>
<!-- {else} -->
<a href="{$attr.url}">{$attr.attr_value}</a>
<!-- {/if} -->
<!--{/foreach}-->
</div>
<!--{/foreach}-->
</div>
</div>
<div class="blank5"></div>
<!-- {/if} -->
<!--组合搜索 结束-->
更改了integrate.php文件里面的login()函数为:
function login($username, $password, $remember = null)
{
if(is_email($username))
{
$sql = "select ".$this->field_name." from ".$this->table($this->user_table)." where ".$this->field_email."='".$username."'";
$username = $this->db->getOne($sql);
if(!$username) return false;
//echo $sql;exit;
}
if ($this->check_user($username, $password) > 0)
{
if ($this->need_sync)
{
$this->sync($username,$password);
}
$this->set_session($username);
$this->set_cookie($username, $remember);
return true;
}
else
{
return false;
}
}
如何删除mysql表中指定行之后的数据
因为不懂mysql命令,要删除ecshop表里的一些无用数据折腾了很久,mark一下
我要删除student表中sno字段前四位为0212的数据,命令如下
delete from 'student' where left('sno',4) = '0212'
我要删除student表中年龄age字段小于18岁的数据,命令如下
delete from 'student' where 'age' < '18'
Ecshop去掉分类名20个字符限制,其实很简单
打开 /admin/templates/category_info.htm 文件
将 maxlength=”20″ 删掉就可以了
第1步、
修改 ecs_category 数据表的结构,新加一个字段
进入 后台 》数据库管理》SQL查询,执行下面SQL语句
| ALTER TABLE `ecs_category` ADD `cat_title` VARCHAR( 255 ) NOT NULL AFTER `cat_desc` ; |
第2步、
打开后台模板文件 admin/templates/category_info.htm (最好使用EDITPLUS打开)
找到下面代码
<tr>
<td>{$lang.keywords}:</td>
<td><input type=”text” name=”keywords” value=’{$cat_info.keywords}’ size=”50″>
</td>
</tr> |
在它上面增加
<tr>
<td>自定义TITLE:</td>
<td>
<input type=”text” name=”cat_title” value=’{$cat_info.cat_title}’ size=”50″>
</td>
</tr> |
第3步、
继续打开文件 admin/category.php
查找下面代码
| $cat['cat_desc'] = !empty($_POST['cat_desc']) ? $_POST['cat_desc'] : ”; |
总共能找到两处,在每处的后边添加代码
| $cat['cat_title'] = !empty($_POST['cat_title']) ? $_POST['cat_title'] : ”; |
第4步、
下面来修改前台程序文件 /category.php
找到
| return $GLOBALS['db']->getRow(’SELECT cat_name, keywords, cat_desc, style, grade, filter_attr, parent_id FROM ‘ . $GLOBALS['ecs']->table(’category’) . |
将之修改为
| return $GLOBALS['db']->getRow(’SELECT cat_name, cat_title, keywords, cat_desc, style, grade, filter_attr, parent_id FROM ‘ . $GLOBALS['ecs']->table(’category’) . |
第5步、
继续找到
| $smarty->assign(’page_title’, $position['title']); |
将之修改为
| $smarty->assign(’page_title’, $cat['cat_title']); |
使用方法:进入 后台 》商品管理 》商品分类,编辑某个分类即可。
|
|
|
|
Magento是一套专业开源的PHP电子商务系统。
Magento的主要应用群体为各企业的大型购物网站,可满足他们的各方面的需求,它具备多种用途及设备齐全的电子商务网站,功能包括购物车、配送、产品评论等等。
这是我第二次安装这个系统了,第一次安装时废了好大劲浪费在解决php、mysql的配置问题上了!这次安装时由于使用了localhost安装,所以在安装完成后出现了登录不了后台的现象,还有就是总提示打开cookie的问题!最后改成使用ip地址就好了!或者用域名也可以!
Hehe技术这东西太容易忘了!这次写下来,下次就不会再耽误时间喽~~~嘿嘿
Mysql安装(略).
Apache及PHP安装过程(略),主要配置文件如下:
Apache安装在D:\Apache2.2
Php安装在D:\php
======httpd.conf=====================
最后添加以下三行
LoadModule php5_module D:/PHP/php5apache2_2.dll
PHPIniDir “D:/PHP” //设置php.ini所在目录
AddType application/x-httpd-php .php
查找DirectoryIndex index.html这行,修改为
DirectoryIndex index.html index.php
======php.ini=====================
extension_dir = “D:\php\ext” //去掉行首的分号,设置php扩展模块目录
使用浏览器打开地址:http://ip/magento/
//用ip或域名不要用localhost或127.0.0.1
选择”I agree …”,点击Continue按钮到下一步:
选择区域、时区、货币单位,然后点击Continue按钮下一步:
这步是最容易出错的,出错原因其实也写得很清楚了,就是PHP扩展没有被加载!
我第一次安装这个的时候,也是和很多网友一样,折腾了半天,绞尽脑汁,才给这几个扩展全部装上的!
PHP Extension “pdo_mysql” must be loaded
PHP Extension “mcrypt” must be loaded
PHP Extension “curl” must be loaded
PHP Extension “gd” must be loaded
编辑php.ini文件,修改以下几行,去掉行首的分号:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
重启apache服务器!按F5刷新页面!四个未加载变成了三个!
复制D:/PHP/目录下面的libmysql.dll、libmcrypt.dll、libeay32.dll、php5ts.dll、ssleay32.dll这五个文件到C:\WINDOWS\system32目录下,然后再重启apache服务器,再按F5刷新页面!OK,终于成功进入了下一个页面!呵呵,头一次安装时折腾了好几篇才把这几个文件弄完整!看网上好多人都遇到这个问题了,到这里过不去下一步,所以写出来分享一下,希望对网友们有用,嘿嘿~~~下一步,配置数据库连接:
开始-运行cmd,打开命令行窗口:
登录mysql:
> mysql –u root –p
输入root用户密码
创建数据库:
> create database magento;
修改php.ini文件,找到
max_execution_time = 30,将30修改得大一些,如300,不然下一步数据创建表时会出错!出错信息如下:
Fatal error: Maximum execution time of 30 seconds exceeded in …\magento\lib\Varien\Db\Adapter\Pdo\Mysql.php on line 230
出现这个错误时,数据库的表还没有创建完成,这时只有90多张表!所以需要把数据删除重建!
> drop database magento;
> create database magento;
重建完成后,按F5刷新页面,如果正常创建完成的话,我这个版本是218张表!
添写数据库的hostname、用户名、密码、Base URL、管理画面路径、session保存方式。
这里的Base Url一定要填写域名,如果是单机的话,就填主机名就可以了!不然安装完成后登录后台会失败。
点击Continue按钮。
数据库连接信息按照实际的填写上!
Base Url的设定不要使用localhost或127.0.0.1,否则的话登录时会出错!要使用IP地址或者域名!其它的默认就行了!
点击Continue按钮。
点击Continue按钮。
登录管理画面:
前台画面:
OK,就写这些吧~~~呵呵,用着还不错!改天在linux下再装一次:)
本文出自 “高兴F” 博客,请务必保留此出处http://gaoxingf.blog.51cto.com/612518/190608
打开includes/lib_order.php,找到“商品购买数量”,将下面这部分注释掉
if ($num > $goods['goods_number'])
{
$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['shortage'], $goods['goods_number']), ERR_OUT_OF_STOCK);
return false;
}
转换是adwords优化很重要的参考数据,是比较准确的ROI数据来源,做adwords的各位不妨一试
你可以在adwords中设置转换跟踪,得到代码,对照做一下修改添加在模板目录flow.dwt的body标签内即可。
<!-- {if $step eq "done"} 订单提交成功-->
<!-- Google Code for order Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 1028991713;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "BHskCPzL4AEQ1NXU6gM";
var google_conversion_value = 0;
if (100) {
google_conversion_value = 100;
}
/* ]]> */
</script>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/1028991700/?value=100&label=BHskCPzL4AEQ1NXU6gM&guid=ON&script=0"/>
</div>
</noscript>
<!-- {/if} -->
New Comments