月度归档 2014年5月25日

通过清心醉

针对magento主题静态块、页面布局不规范方案

作者架设过好多个magento主题代码,由于接触magento时间不长,经常通过主题说明写上了页面代码及静态块代码,之后再次修改的时候,出现页面混乱、布局不规范等问题。一开始总以为是自己代码哪出错了,或者没复制全,更无辜的以为当前主题的布局规范有问题。

最近在给现在的magento网站做帮助文档页面,作者自己小写CSS代码,通过layout的page.xml布局引用,当时发现没问题,可后来由于部分数据需要修改,就直接在页面修改了,结果也出现了页面混乱不规范的现象。重打开页面,重新复制过代码,在复制进的代码的时候已经修改了数据,即可正常显示。

具体问题原因不太清楚,或者是因为magento默认不支持内嵌CSS代码的关系吧? 源代码文件只用了<div>来引用,由于是在编译模式,然后在可视化查看,在点一下编译模式,代码部分会变。更多问题等高手来解决。

通过清心醉

magento css、js文件的使用

在当前主题的layout文件夹中,打开page.xml文件

目录:app\design\frontend\default\您的主题\layout

添加自己的css、js代码引用

<action method=”addCss”><stylesheet>css/mycss.css</stylesheet></action>

然后把CSS文件,传到对应的目录

目录为:skin\frontend\default\您的主题\css

 

然后在页面或者静态块要调用的地方,直接div即可

通过清心醉

magento对商品目录及属性对多语言的支持方法

magento支持多站、多店、多语言的特点
如:
1站1店1语言、1站1店X语言、1站X店X语言;
2站2店2语言、2站X店X语言、2站X店X语言。
可以看出magento的结构为:
网站/店铺/店铺语言(不过不管哪种方式实现多语言,别忘记了安装语言包)
其中,作者把网站定义为一级标准、店铺为二级标准、店铺视图为三级标准。
一二级标准,可以实现对应不同的根目录,从而进行不同语言调用不同分类的商品。
因为三级标准的视图,只能用于单一根目录,再其以子目录形式来编写,会造成对商品管理增加一定的模糊度。
Magento目录和商品,Magento都是在内部存储他的属性和值的对应关系。在新建一个新的属性的时候,这个标签有一种默认语言,其他店铺在前台显示根据不同的store_id显示在前台不同的语言,可以在后台编辑属性的时候分别指定不同的store_id如何显示,Magento系统会存储在eav_attribute_label表中。如color这个属性,在英文版下显示Color,在中文版下显示颜色。eav_attribute_label表中分别是attribute_label_id 、attribute_id、store_id 、value四个字段组成。但是在前端显示“颜色:黑色”,暂时只能显示前半部分。
每一个目录和商品,系统首先让你配置默认系统的相关属性值,然后你可以在店铺视图下修改该产品在该店铺下的显示内容,系统会将内容存储到catalog_product_entity_varchar表中(实际上会是catalog_product_entity_*多个表),该数据表的格式是value_id、entity_type_id、attribute_id、store_id、entity_id、value。这样前端就能完整显示“颜色:黑色”了。

注:目录和商品的标题,标题也是属性的一种。

通过清心醉

xampp提示Error: Apache shutdown unexpectedly 的解决方法

具体问题原因不太清楚,网上有说是因为端口占用,但作者在修改过端口仍然无效。

所以重置下Winsock目录

在“开始”->“运行”输入netsh winsock reset

即可。

(此版本只为Windows版有效)

有一点非常重要:请确保xampp目录下有htdcos文件夹,否则一样报错。

作者发现,最近有不少的朋友来访问该页面,都是针对xampp的apache无法启动的问题。其实只要确保没有其他的apache或者软件占用了80端口,以上命令基本是可以完成的,而且不需要重启。

部分朋友可能又需要用htdocs的phpmyadmin功能,又想测试自己的WEB代码

修改httpd.conf文件,找到以下两项(连着的)

DocumentRoot “E:/xampp/htdocs”
<Directory “E:/xampp/htdocs”>

将2个htdocs改成WEB的文件夹(您也可以修改位置)

如作者要Windows下测试Magento,

DocumentRoot “E:/xampp/magento”
<Directory “E:/xampp/magento”>

重启apache,这样访问的话就是magento目录了。

更多请查看:windows for xampp 开启多端口环境。

通过清心醉

magento使用静态块

比如作者现在做的MAGENTO

一个店铺一个视图对应一个语言(非单视图多语言店)

这样前台就无语言选择

考虑到代码的灵活使用性

新增静态块,然后在header.phtml文件中调用,暂时测试先

以下为代码

<?phpecho$this->getLayout()->createBlock(‘cms/block’)->setBlockId(‘language’)->toHtml()?>

 

//注:language为我新增静态块的ID,MAGENTO的的优势发挥出来是很强大的

只要在页面上增加了,可以添加多个相同的,只是名称不同,但ID必须相同,

然后应用于不同的语言店铺即OK。

 

如何需要在CMS页面中调用静态块可以采用以下方法

{{block type=”cms/block”  name=”cms_test_block”  block_id=”language” }}
将里面order_form改成你的静态块对应的block_id则可
在layout中调用静态块为:

<referencename=”header”>
<blocktype=”cms/block”name=”order_form”before=”-“>
<actionmethod=”setBlockId”><block_id>language</block_id></action>
</block>
</reference>

通过清心醉

magento基本SEO优化

一、系统加速

 

1、给系统减负

去掉Incoming Message,进入后台,  System—Configuration– Advanced– Mage_AdminNotification —- 选择 Disable ,如果你用不上投票功能,就把Mage poll也关闭了;

2、开启缓存

我们知道,在开发的时候,关闭缓存是比较好的,可以及时查看修改的效果,但运营后,为了让访客浏览快速,我们要在后台开启缓存功能

System—>Cache Management– Select All- Disable或Enable以提升运营速度。

3、去掉不需要的产品属性

进入后台,Catalog- Attributes,把我们不需要用到的属性可以去掉;

4、开启编译设置,最少能提升25%的运行速度

System-tools- Compilation 系统默认是关闭状态的,我们开启Run Compilation Process

5、整合Js和CSS

System- Configuration- Developer- Java Script Settings和CSS Setting全部选择Yes

这样,我们就把零散的Js和css就合并到一起,减少了冗余代码和系统的运行速度。

基本上,设置完这些,能让你的站点运行速度提升30-40%。

下面我们来说我们的重点,magento的seo,为了便于理解,我把它分为两个部分来讲,一是站内优化设置,一是站外优化设置:

二、站内优化

 

1、Meta设置

我们在添加产品和分类的时候,需要把Meta Information填写完整,保持每个产品的title不要一样,同时URL key和title保持一致。

2、URL设置

System- Configuration-Web- Search Engines
Optimization 选择yes,开启seo设置,然后再进入Catalog- Search Engines
Optimization,将Product URL Suffix和Category URL
Suffix的后缀.html去掉,大家知道,在搜索引起里,目录的权重高于单个页面的权重,所以把.html去掉后,产品页的URL就显示为
domain.com/XXX,是不是比原来domain.com/xxx.html权重要高呢?

3、LOGO设置

之所以独立的说logo这个选项,是因为它是首页面magento默认的H1标签所在,进入

System- Configuration-Disegn-Head -Logo Image Alt和Welcome Text这个需要改成你的第一关键词。

4、robots设置

System- Configuration-Disegn-HTML Head- Default Robots,有多个选项,如INDEX,FOLLOW、NOINDEX,FOLLOW、INDEX,NOFOLLOW、NOINDEX,NOFOLLOW根据需要选择。

5、关键词布局

无论什么站点,布局关键词都是非常重要的一环,为了站内优化的效果,我建议在每个产品页面融入的关键词要和本页
面的Title以及H1标签内的内容保持一直,每个产品页面根据内容的多寡,布局1-3个关键词,核心词靠前原则,1个词就放在内容的开始,2个词,就分
布在开头和结尾。

6、Tag

Magento的标签功能是很强大的,不仅仅可以增加搜索引起的收录还能和用户进行互动,初期需要我们自己注册用户,然后去热门的产品提交标签,然后进入后台批准,不要忘记,标签要和我们优化的关键词相关。

7、RSS

RSS的好处不用多说了,System- Configuration- Catalog- RSS Feeds都选择开启就可以了。

8、sitemap

进入Catalog-Google sitemap-Add sitemap,然后提交到谷歌管理员工具

站内基本就是这些,还有一些小的细节,seo的工作是永无止境的,大家抓住重点就行了。我们再说说站外优化,这里的站外优化我们说的不是教大家如何做外链,还是不脱离magento本身,先说第一个,google base.

三、站外优化

 

提交到Google base有什么好处呢?

1 产品提交到google分类信息服务,顾客可以在google里的shopping选项里搜索到你提交上去的产品;

2 提交到google base里的产品包含图片,一旦产品被收录,对网站排名会有很好的影响。

具体步骤:

1 到google base注册账号,并添加你网站地址到该账号

2 登录Magento后台,进入系统>配置>Google API>Google Base 然后输入你的Google Base帐户信息并保存

3 进入目录>属性>管理属性,创建新属性并命名为condition, 类型为DropDown,可选值为“New”和“Used”

4 进入目录 > 属性> 管理属性组合,拖曳右边的“condition”到左边你使用到Google Base(新建)的属性集中

5 进入目录 >属性> 管理属性,映射你网站的“Condition”属性和Google Base的“condition”属性.

6 编辑你想包含到Google Base的产品,为属性condition设置合适的值(New或Used)。

7 进入目录>Google Base>管理商品。点击查看可用商品按钮将告诉你可以加入到Google Base的产品条目

8 现在可以提交产品到google base了,分类—>google baseà管理产品-à选中你想提交的产品,在右侧的提交框处选择加入google base选项,点提交就完成了商品从magento网店到google base的提交

9 现在登录你的google管理员账户,点击merchant
center,再点product,就可以看到你提交的产品了使用Magento后台可以把产品加入到Google Base(Google
Product Search),过程很简单,在官方Video: Google Base Integration in
Magento指导你把产品加入到Google Base的基础过程,然而它没有描述一些已知的问题。本文也也指导您怎么样手工解决这些问题。

再说下第二个站外优化,google+1

Magento最简单的添加办法,不用修改模板,直接将’google+1′的代码贴到后台的欢迎语设置中,具
体路径为:System- Configuration-Disegn-Header-Welcome
text,剩下的js可以放到footer里,不过用过的朋友都清楚,google+1的加载速度暂时还是很慢的,为了不影响网站整体的加载速度,我建议
大家放到CMS- Static Blocks 在网站底部建立一个静态块,然后放进去。

通过清心醉

linux平台的部分常用命令

首先是创建文件夹命令:
mkdir file //创建一个文件夹,当然也可以指定目录

删除命令:
rm -rf file //该命令是完全删除,所以使用前请慎重考虑

创建文件夹命令:
mv file file1 //如果目录内有file1文件夹则覆盖,没有则修改.

复制命令:
cp -rv file1 opt //当前目录内把file1复制到opt目录,opt内有则覆盖.不过应该会有提示.
命令太多,建议直接使用绝对目录复制
cp -rv /var/www/www1 /var/www/www2

创建文件: 如果没有可以直接用vi创建
vi /var/www/www1/file.conf #在/var/www/www1目录里创建一个file.conf
进入之后按S(会删除光标当前内的字符),然后修改.
退出时按ESC键盘,在指命内用按:
然后输入wq回车
因为作者是直接SSH下载到本地使用Editplus编译,具体vi使用可以参考手册.

然后是压缩命令,针对部分解压缩命令,需系统安装对应程序
如zip格式,需安装linux版的zip解压缩文件方可实现。
类型.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)

类型.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

类型.tar.gz 和 .tgz
解压:tar tar xzvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName

类型.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName

类型.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName

修改用户密码:
passwd root

更多常用命令,以后更新