magento手机移动设备模板切换的应用和支持

如何在magento上实现对手机或移动设备的支持呢,我这篇文章将详细介绍。
一、官方手机移动设备的支持
     官方magento从1.5中,已经内置了手机和移动设备应用的支持,这个功能主要是根据官方定义好的结构,将指定的信息提交好,然后到magento上购买指定的服务,并获取Activation Key ,然后即可生成相应设备的移动应用,这个移动应用是一个专门的代码,如iphone,有生成一个ios app应用.这个应用可以提交给apple的app store,供用户免费下载。好像magento可以帮你提交给apple的app store.
价格费用如下:

Plans and Pricing

平台 一次性费用 按年或月收费
iPhone $799 $69 per month or $699 per year
iPad $799 $69 per month or $699 per year
Android $799 $69 per month or $699 per year

1.5以下的版本,可在http://www.magentocommerce.com/magento-connect/Magento+Core/extension/4457/magento_mobile 下载
  注意,这个功能生成的是应用程序
二、支持用手机或移动设备的magento模板
 如果想以手机或移动设备用浏览器的html方式浏览magento的网站,那就需要模板专门支持这些设备,我找了一些收费或免费的模板
http://www.magentocommerce.com/magento-connect/BelVG/extension/5992/android_mobile_theme

http://www.magentocommerce.com/magento-connect/chinesedream/extension/5640/touchscreen_optimized_mobile_theme

http://www.magestore.com/iphone-theme.html

http://www.magentocommerce.com/magento-connect/SNM-Portal/extension/4368/mobiletouch

http://themeforest.net/item/iphone-shop-magento-theme/153684

http://ecommerce.aheadworks.com/magento-extensions/iphone-theme.html

上述只是我看到的一部分,一些是免费一些是收费,如果你有能力,可以根据免费模板进行二次修改
三、如何根据平台自动切换到模板?
    有了移动的模板,那magento如何在手机和移动设备浏览时自动切换到指定模板上呢,有官方支持和第三次代码支持。
  1、官方支持模板自动切换
     到 System > Configuration > General > Design -> Package and Theme "Add Exception"
  

 在“Matched Expression”:填写如下移动设备的标志,也可根据平台分开写

iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini

在“Value"处,填上指定移动设备所对应的模板,如iphone.
这就是magento官方支持的功能,很强大吧
2、第三方根据平台切换模板的功能
    我找到两个,一个是收费的,一个是免费的
  http://www.magestore.com/theme-switcher.html   这个是免费的

我提供这个插件的下链接:主题切换theme switcher

  http://www.itoris.com/magento-mobile-theme-switcher.html#Features  这个是收费的Mobile Theme Switcher (v1.0.0) for Magento

总结:magento的手机或移动设备的支持还是不错的!

magento查看和调试当前有哪些类被加载到模板

初学者最常见的问题是在某个模板内你不知道有哪些接口你可以用。magento的接口那么丰富,如果这个不会更谈不起二次开发了。其实借助php的最基本的几个函数你就可以查看当前有哪些类哪些接口可以使用了。

echo print_r(get_class_methods(get_class( $this )));

你还可以通过调用block的debug方法:

echo print_r( $this ->debug());

因为magento是在zend 框架下开发的,所以你还可以:

echo Zend_Debug::dump( $this );
具体效果大家自己测!

magento模板的结构构成方式

magento模板的结构构成方式,主要由以下几个模板概念组成
website ,store and store view
interface 接口
themes   主题
|
—–layouts 布局
|
—–Templates
|
—–Skins 皮肤
|
—-blocks 区块

1、Layout (located in app/design/frontend/your_interface/your_theme/layout/)
—这些都是基本的XML文件,定义块结构,不同的网页,以及控制元信息和网页
2、Templates (located in app/design/frontend/your_interface/your_theme/template/)
–这些都是PHTML档案,其中包含(X)的HTML标记和任何必要的PHP标签创建逻辑演示
3、Locale (located in app/design/frontend/your_interface/your_theme/locale/)
–这些都是简单的文本文件的安排,每语言基础上,包含翻译存储副本。
4、Skins (located in skin/frontend/your_interface/your_theme/)

lightinthebox模板的插件移植

lightinthebox模板,刚开始为他高度定制及众多功能所折服,但是我看了大家使用lightinthebox模板的情况,基本上外观和结构都没什么变动,存在着lightinthebox模板使用泛滥问题,于是想把lightinthebox模板中有借鉴意义的插件移植出来的念头,经过个把月的努力,终于基本达到了目标。一些自己认为还不错的插件,已经将代码抽出来了,虽然一些由于css不熟悉,抽出来的单独代码还有一些显示没能完全一样,但已经很高兴了。同时也对这个模板的一些功能也熟悉,终于剥下神秘的面纱。
哈哈哈!!
对于流程方面,lightinthebox有对注册进行改动,把注册要填写的信息分成两步,感觉这个流程实现的不是太理想。虽然我也移植成功。