OMG,升级到prestashop1.4.2.5后不能填写地址了

No Comments

从1.4.0或以前版本升级到1.4.2.5最新版本后,发现单步支付中不能填写地址了,没有地址,国家等选项了。

这是因为prestashop 1.4.2.5新增加了针对国家的“地址格式”功能,升级的时候”ps_address_format”表为空没有任何地址造成的。

解决办法,打开Back Office 》 Shipping 》 Countries,找到你的默认国家,修改。

点击Use a default layout,或者选择需要的模板。

dreamweaver cs5 正则替换prestashop google base feed

No Comments

应用情景:

打开了一个prestashop的google base feed,想要去提交给W3C Link Checker来验证。

解决方式:

用dreamweaver打开feed xml文件。

使用

</link>([\s\S]+?)<link>替换为\r\n

来去除大部分的xml。

再把头部和尾部的xml删除。

使用

(http(.+?)\.html)+ 替换为 <a href=”$1″>$1</a>

来把网址变成链接

最后,保存为html文件传到服务器上,就可以使用w3c link checker服务了。

prestashop多页标题重复问题的修改

No Comments

这是对于prestashop seo方面的改动,在分类的第二页的标题和第一页是一样的,所以加了一个page 2这样的修改。
适用于prestashop 1.3.x版本。

$metaTags['meta_title'] = $defaultValue.' - '.(($_GET['p'] > 1) ? 'Page '.$_GET['p'] : '' ).' - '.Configuration::get('PS_SHOP_NAME');

在classes/tools.php 587行。

prestashop 1.4终极优化指南

1 Comment

加了终极2个字,是因为速度确实提升了400%。

		$rss_links = array();
		$cache = dirname(__FILE__).'/cache.serialize';
		if(file_exists($cache) && (time() - filemtime($cache)) < 5000)
			$contents = unserialize(file_get_contents($cache));
		else	
			$url && ($contents = @file_get_contents($url));
 
		if (@$src = new XML_Feed_Parser($contents)){
			file_put_contents($cache, serialize($contents));
			for ($i = 0; $i < ($nb ? $nb : 5); $i++)
				if (@$item = $src->getEntryByOffset($i))
					$rss_links[] = array('title' => $item->title, 'url' => $item->link);
		}

这条优化建议是针对所有版本的,并非只有prestashop1.4。这段代码用以替换module中的blockrss文件夹中的blockrss.php141行开始到// Display smarty结束的部分。加了一个rss的缓存而已,但是官方显然没注意到这个问题,这个模板已经很多个版本没有改过了。

未完待续

prestashop 1.4:新世界,新希望

No Comments

prestashop 1.4版本在上周五发布了,使用了下功能,总结出来就是一句话:prestashop真正开始和其他成熟的购物系统并驾齐驱了。

新增加的单步支付和免注册支付,一直是定制开发中最常见的。我自己也有过很多需要这方面功能的客户。还有在左侧的分类产品筛选功能,都是做电子商务提高用户体验的一些基础功能。

还记得之前版本的速度问题吗?js和css都写的比较混乱,在美国的服务器上打开prestashop的页面都需要很久,因为静态资源实在太多,想优化都无从下手。js和css引用的到处都是,每个模块都可以引入css和js在自己的tpl内,对于速度的优化是相当不利的。1.4版本一举解决了这个问题,首先从代码上统一了js和css的管理,管理了之后就可以最小化、压缩等工作,要方便多,http请求也减少了很多。1.4的模板把css都写成单独的文件,不再是一个global就打遍天下无敌了。

cms一直是prestashop的弱势,1.4版本的prestashop有了cms分类管理的能力,省力了很多。虽然还比不上prestashop+wordpress集成那么牛逼,但是对比以前是一个改进。

webservices,对于普通用户来说,可能没有太多的实用价值。可是假如你要做站群,这可是太方便的东西。我一直认为prestashop是非常适合做站群的,因为迁移和复制太方便了,运行速度也比其他的老牌购物系统好了很多。最近在做sem,考虑的事情就偏向了sem一些。

模块现在是按照官方的方式来管理的,不像以前只要随便写一个分类他会自动在模板里面创建一个分类,没有按照官方要求写的模块现在统一命名为other modules。

代码方面,新加了2个文件夹值得注意:controllers和override。从前,主要的控制代码都在写在根目录下的文件里面的,现在这部分文件都已经转移到controllers里面。对于更加面向对象化的prestashop,自然也必须留有可以让程序员发挥定制的空间,override就是这样的用途,在其下创建和controllers中文件名一样的文件,系统会自动调用override中的文件。

最后的一点是prestashop的发展方向。1.2版本之前,prestashop里面都是没有太多关于官方的东西的,在后台中只有最下面有个链接。现在prestashop的官方建立了addons.prestashop.com,有点苹果app store的意思,1.4版本和prestashop的结合尤其的紧密。在modules的子菜单中,专门有一项是My Account,就是可以直接登陆官方论坛和addons平台的帐号。

新模块:历史订单

No Comments

有一个新模块,可以显示类似于国内常见的“xx地区手机尾号为xx的x女士买了xx”这样的信息在你的prestashop上面。

项目地址:http://code.google.com/p/recentorders/

显示出来的效果:

设置:

这个模块有3个选项:自动,假数据,混合

自动就是显示系统真实的订单信息。

假数据可以在下面添加一些信息。

混合显示的列表里面,先出现的是假数据,后面是真实的数据。

自动展开的prestashop左侧主分类

1 Comment

prestashop左侧主分类一般会显示3级,默认情况下,分类前面都有一个加号,点击加号可以展开下级分类。

但是过多的点击对于用户体验并不好,所以有必要让它在开始的时候就自动展开,如果用户需要,可以点击折叠起来。

<script type="text/javascript">
$(function (){
toggleBranch($('ul.tree span.grower'));
});
</script>

这些代码可以加在模板的header.tpl里面,你也可以加

toggleBranch($('ul.tree span.grower'));

到模板目录的js/tools/treeManagement.js的最后面,让它变成

$('ul.tree.dhtml').removeClass('dhtml');
toggleBranch($('ul.tree span.grower'));
}});

prestashop随机产品模块

No Comments

http://code.google.com/p/specialfeaturedproducts/ 开源免费的prestashop随机产品模块,从官方的feathered product模块修改而来。

可以换上面的名字,可以随机显示产品、定义产品数量,还可以切换是显示feathered products还是new products,feathered products就是产品有home分类的(不一定是主分类),new products就是新上的了。

新一季的prestashop模板

No Comments

我自己做的模板都是客户定制的,我给客户承诺的是不会将其交给第三方,所以抱歉我不能放我自己做的模板出来。

这些也是我找的,给大家学习用

atch (378) 干净简单 (371) 地球 (327) 元素 (328) 非洲狐 (321) iNove(prestashop+wordpress) (332) ipnotik (322) isant (334) 月亮 (310) 大写 (320)

给prestashop用户注册添加验证电话的功能

No Comments

elseif(!Tools::getValue(‘phone’) || !Tools::getValue(‘phone_mobile’))
$errors[] = Tools::displayError(‘Error phone number’);

加在authentication.php 54行的后面

Older Entries