Bigcommerce:intershop编程经验总结
1.修改或者添加网页Title,Keywords,Decoration的代码:
$full_url = $_SERVER['REQUEST_URI']; //获取请求的url
$letter = substr($full_url,strrpos($full_url,"/")+1);//获取最后一个‘/’号后面的字符内容
$letter = urldecode($letter); //还原URL 编码字符串
if($letter =='hotsales')
{
$canonicalLink = GetConfig('ShopPathNormal').'/'.$letter; //securitycamera2000.com/hotsales
}else{
$canonicalLink = GetConfig('ShopPathNormal').'/hotsales/'.$letter; //securitycamera2000.com/hotsales/A
}
$GLOBALS['ISC_CLASS_TEMPLATE']->SetCanonicalLink($canonicalLink); //设置canonical<link rel='canonical' href='http://www.网址/hotsales' />
if(strlen($letter)>3 and $letter!='hotsales')
{
$letter=str_replace('-',' ',$letter);
$des= 'Professional '.$letter.' Wholesale. FREE shipping, 1 Year Warranty, 30 Days Money Back Guarantee - !';
}else{
$des= 'Professional '.$letter.' Wholesale. FREE shipping, 1 Year Warranty, 30 Days Money Back Guarantee - ';
}
2.产品列表的图片默认用主图
要在where条件后面添加代码:and b.imageisthumb = 1
例如:
$prodQuery= mysql_query("select a.prodname,a.prodprice,a.prodvariationid,a.prodeventdaterequired, a.prodconfigfields , FLOOR
(a.prodratingtotal/a.prodnumratings) AS prodavgrating, b.imagefilethumb from isc_products a, isc_product_images b where a.productid=".
$productId." and b.imageisthumb = 1 and b.imageprodid=".$productId) or die(mysql_error());
3.所有数据库的操作
1)查找一条记录:
$qProd1 = "SELECT COUNT(tagid) FROM [|PREFIX|]product_tagassociations WHERE productid='".$prodIDs."'";
$rowCount = $GLOBALS['ISC_CLASS_DB']->FetchOne($qProd1);
echo $rowCount;
2) 更新语句
$qProd1 = "SELECT COUNT(productid) FROM [|PREFIX|]product_tagassociations WHERE tagid='".$tagsID."'";
$rowCount = $GLOBALS['ISC_CLASS_DB']->FetchOne($qProd1);
//echo $rowCount;
$updatedCategory = array(
"tagcount" => $rowCount
);
$GLOBALS['ISC_CLASS_DB']->UpdateQuery("product_tags", $updatedCategory, "tagid='".$tagsID."'");
3)删除语句
mysql_query("delete from isc_custom_categories where id IN (".$catIds.") or parentid IN (".$catIds.")" ) ;
4)查找所有的循环数据
$query = "SELECT o.*
FROM [|PREFIX|]order_configurable_fields o
JOIN [|PREFIX|]product_configurable_fields p ON o.fieldid = p.productfieldid
WHERE
o.orderid=".(int)$orderId."
ORDER BY p.fieldsortorder ASC";
$result = $GLOBALS['ISC_CLASS_DB']->Query($query);
$fields = array();
while ($row = $GLOBALS['ISC_CLASS_DB']->Fetch($result)) {
$fields[$row['ordprodid']][] = $row;
}
5)增加语句
$query = "INSERT INTO `[|PREFIX|]keystore` (`key`, `value`) VALUES ('" . $this->db->Quote($key) . "', '" . $value . "') ON DUPLICATE KEY
UPDATE `value` = CAST(`value` AS SIGNED) + VALUES(`value`)";
$result = $this->db->Query($query);
if (!$result) {
throw new Interspire_KeyStore_Exception($this->db->GetErrorMsg());
}
6.调用另一个类的某个方法
(1)$relatedProducts = $GLOBALS['ISC_CLASS_PRODUCT']->GetRelatedProducts();
(2)if ($GLOBALS["ISC_CLASS_SEARCH"]->GetNumResults("product") > 0) {
$productSearchResults = ISC_PRODUCT::buildSearchResultsHTML();
}
4.URL编码转换
$proURL=$row['prodname'];
$proURL=str_replace("/","{47}",$proURL); //把/号转换成{47}
$PURL=str_replace("-","%252d",$proURL);
$PURL=str_replace(" ","-",$PURL);
$PURL=str_replace("+","%252b",$proURL);
5.给产品名称添加Link地址
$GLOBALS['ItemNameLink'] = prodLink(isc_html_escape($prod_row['ordprodname'])); //used prodLink()
6. 后台模板更改后显示有问题的原因
在DW中打开,观察代码的颜色,把不正确颜色的代码改过来。还有模板文件中不能有空行
7.数据库表中的时间,经常是一串数字,比如:1138618081
解析:是用time() 函数返回当前时间的 Unix 时间戳。
<?php
$t=time();
echo($t . "<br />");
echo(date("D F d Y",$t));
?>
输出:
1138618081
Mon January 30 2006
8.页面加载的时间:出现500错误
bigcommerce系统页面的加载时间是有限制的,这跟php服务器的配置有关系
9.邮件服务器——邮件里面的产品带有特殊字符:双引号和&符号,邮箱里面的URL会转码错误!需要修改为:
$proURL=ProdLink(isc_html_escape($product_row1['ordprodname']));
$proURL=str_replace("%26%23039%3B%26%23039%3B","%27%27",$proURL); //这个是双引号的替换
$proURL=str_replace("%26amp%3B","%26",$proURL); //这个是&符号的替换
10. 后台Store Design,如果在ftp删掉不需要的模板主题文件夹,后台Store Design会出错。需要注意:必须保留__mobile、__master(这个是母文件)、__logos、__includes、__gift_themes、__emails(这个是Bigcommerce系统所有发送出去的邮件的主题文件夹)
11.Bigcommerce系统所有URL后面带?然后后面是一串字符,如果在搜索引擎里面有很多这样的网页,点击进入站点,在站点里是不存在这样的页面,系统将全部转到带?前面的URL的当前页面。
可以用: <linkrel='canonical' href='' /> canonical属性指定为唯一页面,这样有利于SEO
Bigcommerce:intershop编程经验总结的更多相关文章
- iOS开发编码建议与编程经验
作者:乞力马扎罗的雪(GitHub) 原文 在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的 ...
- C++的XML编程经验――LIBXML2库使用指南[转]
C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...
- Python/Numpy大数据编程经验
Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. ...
- 编程经验点滴----在 Oracle 数据库中保存空字符串
写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bu ...
- C++的XML编程经验――LIBXML2库使用指南
C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...
- Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享
Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享 跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关 ...
- Linux-shell编程经验记录
Linux-shell编程经验总结 1.接收用户输入 #读取用户输入并且将输入保存到input变量中 read -p "请输入:" input #也可以先输出信息再进行读取,这里的 ...
- 写给已有编程经验的 Python 初学者的总结【转】
当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...
- 写给已有编程经验的 Python 初学者的总结
当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...
随机推荐
- Idea中运行Testng时,报SAXParseException:parallel为none的问题原因及解决
今天更新了testng的版本为6.9.10, 在idea中运行测试案例时,报错如下: org.testng.TestNGException: org.xml.sax.SAXParseException ...
- date日期比较和格式化方法
时间的比较 var now = new Date();//现在时间 var setDate = new Date(2017,0,5,17,55,55);//设定的时间 laert(now < s ...
- [转]NodeJS、NPM安装配置步骤(windows版本)
1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL” ...
- JQUERY1.9学习笔记 之属性选择器(二) 包含选择器
jQuery("[attribute*='value']") 描述:选择所有与给定值匹配的属性值的标签. 例:找出所有name属性包含"man"的input标签 ...
- 原生JS写Ajax的请求函数
一.JS原生ajax ajax:一种请求数据的方式,不需要刷新整个页面:ajax的技术核心是 XMLHttpRequest 对象:ajax 请求过程:创建 XMLHttpRequest 对象.连接服务 ...
- 转:PHP性能优化大全
原文来自于:http://www.open-open.com/lib/view/open1370769825070.html PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调 ...
- hdu 5128 The E-pang Palace
http://acm.hdu.edu.cn/showproblem.php?pid=5128 题意:给定N个点,选出其中8个点组成两个矩形,使得两个矩形的面积和最大. 思路:找出所有的矩形,然后枚举, ...
- iOS Developer Libray (中文版)-- Defining Classes 定义类
该篇是我自己学习iOS开发时阅读文档时随手记下的翻译,有些地方不是很准确,但是意思还是对的,毕竟我英语也不是很好,很多句子无法做到准确的字词翻译,大家可以当做参考,有错误欢迎指出,以后我会尽力翻译的更 ...
- SaltStack Syndic配置
参考URL: http://www.ttlsa.com/saltstack/saltstack-syndic-example/ 虽然中心master看不到 minion的key 但是还是可以直接指导m ...
- 石英晶振频率后面带的PPM是什么单位
PPM是石英晶振的基本单位之一,表示晶振的精度和相对偏差, PPM代表着百万分之一,它表明晶体的频率可能会偏离标称值多少.晶振频率是以MHZ(10的6次方)和KHZ(10的3次方)为基本单位的,标称频 ...