分类目录归档:分享

分享prestashop知识,提供专业的prestashop开发服务

prestashop1.5 breadcrumb添加样式

之前在一个论坛里回复过这个问题,最近又有人咨询这个问题。我想想还是写下来分享给做模板的前端攻城师。

prestashop默认版本产品相关页 breadcrumb最后的节点是文本,没有任何html标签包裹。 加上标签后就可以写css样式修饰了。

1. 打开controllers/front/ProductController.php;
2. 查找到 protected function assignCategory() 大约在436行;
3.将代码 修改为;
protected function assignCategory()
{
// Assign category to the template
if ($this->category !== false && Validate::isLoadedObject($this->category))
{
$this->context->smarty->assign(array(
‘path’ => Tools::getPath($this->category->id, ‘<span  “nav_last”>’.$this->product->name.'</span>’, true),
‘category’ => $this->category,
‘subCategories’ => $this->category->getSubCategories($this->context->language->id, true),
‘id_category_current’ => (int)$this->category->id,
‘id_category_parent’ => (int)$this->category->id_parent,
‘return_category_name’ => Tools::safeOutput($this->category->name)
));
}
else
$this->context->smarty->assign(‘path’, Tools::getPath((int)$this->product->id_category_default, ‘<span class=”nav_last”>’.$this->product->name.'</span>’));

$this->context->smarty->assign(‘categories’, Category::getHomeCategories($this->context->language->id));
$this->context->smarty->assign(array(‘HOOK_PRODUCT_FOOTER’ => Hook::exec(‘displayFooterProduct’, array(‘product’ => $this->product, ‘category’ => $this->category))));
}

产品页面breadcrumb 最后一个节点添加span标签

产品页面breadcrumb 最后一个节点添加span标签

 

 

 

开源PHP Office项目资源

在Office 15即将发布之际,开发人员可能会更关注那些在开源的PHPoffice,一般的程序员、设计师他们距离Office办公套件也是蛮遥远的,但是如果真的 要用了总不可能去下载一个吧即使是WPS也需要时间,所以不如在自己的服务器上建立一个建议的PHP Office。

这里的替代品(既简单又复杂),可能更加适合你。

从此我们在线观看文档不再需要豆丁和百度文库了!

PHPExcel

几乎支持所有常用Excel的功能的PHPExcel,格式支持.XLS或者这.XLSX。功能支持包括表格的任何元数据、添加工作表/行/列,合并单元格,操作公式等等,并且完美兼容MS Office中的Excel。支持打印哦,亲!

官方地址:http://phpexcel.codeplex.com/

github:https://github.com/PHPOffice/PHPExcel.git

SimpleExcel

用简单的方式解析打开Excel XML 、 CSV格式,仅需要支持PHP5+即可!

官方地址:http://faisalman.github.com/simple-excel-php/

github:git://github.com/faisalman/simple-excel-php

php-excel

php-excel用简单级的方法,从PHP到Microsoft Excel转换矩阵状,二维数组。支持创建数据库表Excel、经行简单的数据运算、方便的统计。但是在官方的申明中说如果需要一个强劲的功能还是PHPExcel吧。

地址:http://code.google.com/p/php-excel/

php-excel-reader

这货只为.XLS提供解析,输出的效果还是很不错的。

演示:http://www.mattkruse.com/php-excel-reader/example.php

地址:http://code.google.com/p/php-excel-reader/

PHPWord

尽管目前只是测试版但是功能还是很强劲!完美兼容MF Word并且支持打开.doc or.docx。可以插入文本,文本符,分页,页眉/页脚,表格,列表中的元素,超链接等等。

地址:http://phpword.codeplex.com/

下载:http://phpword.codeplex.com/releases/view/49543

PHPPowerpoint

可以演示文档、添加幻灯片,支持图像、媒体的加入,已经作者的信息。完美兼容MS Office。

地址:http://phppowerpoint.codeplex.com/

总结

尽管在线Offic很强大,但是也不能完全替代Office办公套件,仅仅是提供简易的操作!大家可以将这些东西汉化上传至国内的开源项目来帮助国人。

 

来源:投稿,原文链接

prestashop根据访问者ip所在国家调用语言包

客户第一次访问你的网站,你就显示出客户所在国家的语言包,这样会给用户体验大大加分。

其实做到这点很简单。

1.判断用户ip的国家

2.调用prestashop对应的语言包

 

代码修改classes/tools.php 文件里的一个方法就能做到。
public static function setCookieLanguage()
{
global $cookie;

/* If language does not exist or is disabled, erase it */
if ($cookie->id_lang)
{
$lang = new Language((int)$cookie->id_lang);
if (!Validate::isLoadedObject($lang) OR !$lang->active)
$cookie->id_lang = NULL;
}

/* Automatically detect language if not already defined */
if (!$cookie->id_lang AND isset($_SERVER[‘HTTP_ACCEPT_LANGUAGE’]))
{
$array = explode(‘,’, self::strtolower($_SERVER[‘HTTP_ACCEPT_LANGUAGE’]));
if (self::strlen($array[0]) > 2)
{
$tab = explode(‘-‘, $array[0]);
$string = $tab[0];
}
else
$string = $array[0];
if (Validate::isLanguageIsoCode($string))
{
$lang = new Language((int)(Language::getIdByIso($string)));
if (Validate::isLoadedObject($lang) AND $lang->active)
$cookie->id_lang = (int)($lang->id);
}
}

/* If language file not present, you must use default language file */
if (!$cookie->id_lang OR !Validate::isUnsignedId($cookie->id_lang))
{
//客户第一次访问网站时根据客户来源ip 设置默认语言  $cookie->id_lang 值需要根据你网站的语言包来修改
//update begin paul 20120727
$ip = $_SERVER[‘REMOTE_ADDR’];
$iptxt = file_get_contents(“http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=txt&ip=”.$ip);
if(preg_match(‘|美国|’, $iptxt))
$cookie->id_lang = 1;
elseif(preg_match(‘|法国|’, $iptxt))
$cookie->id_lang = 2;
elseif(preg_match(‘|西班牙|’, $iptxt))
$cookie->id_lang = 3;
elseif(preg_match(‘|德国|’, $iptxt))
$cookie->id_lang = 4;
elseif(preg_match(‘|意大利|’, $iptxt))
$cookie->id_lang = 5;
elseif(preg_match(‘|中国|’, $iptxt))
$cookie->id_lang = 6;
else
$cookie->id_lang = (int)(Configuration::get(‘PS_LANG_DEFAULT’));
//update end paul 20120727
}

$iso = Language::getIsoById((int)$cookie->id_lang);
@include_once(_PS_THEME_DIR_.’lang/’.$iso.’.php’);

return $iso;
}

return $iso;
}

说说prestashop zen-cart magento

PrestaShop是一款针对web2.0设计的全功能、跨平台的免费开源电子商务解决方案,自08年1.0版本发布,几年时间,发展迅速,Prestashop基于Smarty引擎编程设计,模块化设计,扩展性强,能轻易实现多种语言,多种货币浏览交易,支持Paypal等几乎所有的支付手段,是外贸网站建站的佳选。

Magento 是一套专业开源的电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。其面向企业级应用,可处理各方面的需求,以及建设一个多种用途和适用面的电子商务网站。 包括购物、航运、产品评论等等,充分利用开源的特性,提供代码库的开发,非常规范的标准,易于与第三方应用系统无缝集成。

 

Zen Cart是一个免费、界面友好,开放式源码的购物车软件。该软件由一些销售商、程序员、设计师和顾问们共同开发,目的就是 用户能建立风格不同的电子商务系统。

比较下

难易级别:  zen-cart -> pretashop->magento

功能级别:  zen-cart、pretashop 不分上下 magento 领先一筹

学习成本:  zen-cart ->prestashop->magento

适用性:  zen-cart 比较成熟很多免费的插件皮肤,适合小的外贸企业起步时。 magento 功能强大、灵活 有一定势力的公司或者团队。prestashop 适合大众。

代码方面:  magento prestashop 相比zen-cart比较简洁

成熟度:  zencart比较成熟 ,prestashop  和 magento后期之秀