Magento开发
第一章
手册简介Introduction
对一个开发人员来说,电子商务开发也许是现今最具创造性的工作。在这个瞬息万变的网络世界,为了保持始终领先竞争对手一步,无论是对你自己还是你的客户,你都需要更具创造性的解决方案。只有最棒的用户体验才能把你的潜在客户真正转化为营业额。有组织的布局,方便的搜索,快速的页面载入,吸引人的显示效果,直观的导航合在一起形成了用户体验,它能在商店和消费者之间建立起一定程度的信任感。 用最好的工具来开始一个电子商务解决方案为您实现客户的各种想法打下了坚实的基础。
以magento来开始你的电子商务解决方案,为您的在线商店提供了最好的基础。不管你是懂一点还是精通于开发,你都会看到magento为你各种创造性的想法提供了最好的开发平台。从少量的模板调整到定制化模块,再到各种独特的产品展现形式,magento会帮助你比传统形式更快的实现这些。
谁会用到这个手册?
开发者
对开发者来说,这个手册对Magento的结构提供了一个完整的介绍,并且提供了足够的例子使你可以把你的任何编程的想法得以实现。开发者会学会如何写一个定制化模块并且很方便的部署安装到Magento中。
商城拥有者
如果你不是一个开发人员,仅仅是想简单的运行一个Magento商店,这个手册可能并不适合你。但如果你认为你可能需要对你的Magento商城做一些定制化开发,这个手册会帮助你更好的和你的开发人员交流。
当你雇佣了一个你不熟悉的开发人员,你很难避免他在你眼皮底下磨洋工。用这个手册中关于Magento的知识把自己武装起来后,你就可以验证你从开发人员那里拿到的东西的价值,并从中发现你的开发人员是否在偷懒。
关于这个手册
这个手册大致上有组织的深入描述了两个章节的内容:第一个章节通过代码透视和一般用户接口透视描述了Magento是如何工作的,剩余章节会通过创建各种模块的例子带领读者进入Magento的世界。尽管没有包含所有Magento接口的细节,这个手册通过带领读者学习所有的例子来让读者理解所有Magneto代码的思想。
编码规范
由于Magento是建立在Zend Framework的基础上,本书中例子的代码规范将遵循Zend Framework的风格。为了适应页面和节省空间,这本书中有些例子的代码有缩短,因此风格可能受到一些影响。
本书中当涉及到关于变量,类,对象或者概念的词或短语将会以斜体显示。当涉及一些特殊的词比如变量,类名时,这些词将格式化为内嵌代码,文件名也将用这样的格式 。
当谈到Mage_Core_Model_Abstract对象类,将使用斜体,当谈到为什么类命名为Mage_Core_Model_Abstract时,将使用内嵌代码 。
XML的例子
当引用XML,…(省略号)是用来表示其他的、可选的,或者预先存在的XML标记。
XML结构如下:
<config>
<modules>
<Company_RewardPoints>
<version>0.1.0</version>
<depends>
<Mage_Customer/>
<Mage_Checkout/>
</depends>
</Company_RewardPoints>
</modules>
<global>
<resources>
<rewardpoints_setup>
<setup>
<module>Company_RewardPoints</module>
<class>Mage_Core_Model_Resource_Setup</class>
</setup>
<connection><use>core_setup</use></connection>
</resources>
</global>
</config>
在rewardpoints_setup标签周围的部分可能被表示为这样:
<config>
…
<global>
…
<resources>
<rewardpoints_setup>
<setup>
<module>Company_RewardPoints</module>
<class>Mage_Core_Model_Resource_Setup</class>
</setup>
<connection><use>core_setup</use></connection>
</resources>
…
</global>
…
</config>
操作系统要求
如果可能的话,本书将描述在Linux,Mac OS X和Windows操作系统上各自的技术程序。但为了保持例子的简洁性,文件路径将使用Windows目录和文件名的命名规则。在列出的路径中,正斜杠(/)将作为路径 分隔符,Unix(Mac OS X和Linux)+PHP+Apache可以自动转换成反斜杠。
看到如下路径不要感到奇怪:C:/xampp/apache/htdocs/magento/
第二章
准备你的开发环境
确保你已经下载了最新版本的Magento。可以以下这个域名下载到最新版本的Magento:
LAMP/WAMP平台
如果你在Windows 平台下, 最方便的方式是使用XAMPP包来安装PHP+Apache+MySQL。 下载地址:http://apachefriends.org .
在硬盘的任何位置都可以安装XAMPP-lite包 ,你只是需要运行setup.bat文件 。同样在Mac OS X和Linux 下也有相对应版本的XAMPP。
Subversion
开发你自己的模块时,建议使用Subversion版本控制来跟踪所有的代码改动。Windows用户推荐使用从http://tortoisesvn.tigris.org下载的客户端和服务器端。对于Mac和Linux用户,建议在命令行输入svn程序来获得PHP包 websvn。 如果你对Subversion系统不熟悉,可以在Subversion的网站浏览更多内容
(http://subversion.tigris.org/ )。
MySQL工具
除了直接操作MySQL服务器 ,最有用的是有个图形化的客户端来时刻检查Magento的数据库表。 MySQL Query Browser是MySQL公司提供的官方客户端,并且支持所有主流操作系统。 尽管有些用户更喜欢mysqlcc或phpMyAdmin。
安装
在你的网站服务器文件根目录下解压Magento(从这里开始,{docroot}代表根目录)。你可以看到这样的路径布局:
{docroot}/magento/
app/
index.php
js/
lib/
LICENSE.txt
media/
pear
skin/
var/
数据库安装
即使你的数据库用户有权利建立数据库,Magento也不会产生其所需的数据库给你。 正因为如此,我们需要使用前面提到的其中一个MySQL工具来创建数据库。一个正常的数据库名,有时被称为schema,可以是“magento”或“magento_dev”,或者你可以包含版本号“magento_10”。
Magento安装
现在你可以在地址栏中输入http://localhost/magento/ 来继续Magento的基本安装 。这里你会看到安装一个PHP网站 程序的每一个步骤,安照屏幕上的指示,你就可以完成Magento的安装。
示例数据
如果这是您第一次试用Magento,你应该安装可选的示例数据。 示例数据是一个单独的下载包,大约35 MB,提供了一些样本产品、分类和图片。当你下载了安装包,把media文件夹覆盖你的Magento安装目录下的media文件夹,然后用你的 MySQL管理工具运行提供的SQL文件。
到这一步,示例数据已经完整的安装完成。 因此,它需要在正常安装之前就导入,正常安装会把样本数据更新到原始版本。
初始化Subversion
Magento模块从三个路径执行:core、community和local。本书所有的例子假设你在local路径下开发。 在local路径下,你可以把所有 的模块集合起来放在一个叫Mage的包中,这个名字是针对Magento的核心模块,但本书中所有例子将使用Company这个包名。 除了Company,你可以使用任何包名来代表你自己的公 司或组织。初始化Subversion有点棘手。首先,你需要初始化库。然后,你需要创建一个文件夹或路径导入到这个新的库。之后,你还不能开始使用 subversion,那些被导入的路径需要删除,为了让库连接到subversion,要check out库。让我们来看看详细的步骤。
得到Linux平台上subversion库是相当容易的。从RPM安装subversion,通常存在一个类似的路径/var/lib /subversion/repository/。初始化一个库的命令:svnadmin create /var/lib/subversion/repositories/magento_modules
如果你在Windows平台下使用TortoiseSVN,在你计算机任何地方创建一个文件夹,右键单击该文件夹,从TortoiseSVNmenu选择Create repository here…
我们设置Subversion的目标在Magento中的/app/code/local路径下有一个命名为Company的文件夹。这使我们随时可以很 容易添加一个模块,保存subversion的工作。在/app/code/local路径下创建一个路径,命名为svn_import。在临时 svn_import路径下创建另一个叫Company(或其他名字)的文件夹。如果你运行在Unix平台上,运行svn_import路径中的命令(忽 略shell提示符):
[svn_import]$ svn import . /
file:///var/lib/svn/repositories/magento_modules/
在Windows中,在svn_import文件夹中右键单击TortoiseSVN,选择Import…菜单选项。一个新的对话框将出现,并要求您输入的库URL。单击省略号按钮,浏览到你在上一步中指定的文件夹储存库。
成功导入库后删除svn_import文件夹。下一步,我们要checkout刚导入的文件夹来获得Subversion的启动目录。在Unix:
[local]$ svn checkout /
file:///var/lib/svn/repositories/magento_modules/Company
在Windows上,右键单击local文件夹并选择SVN Checkout….接受对话框中的默认设置,当它询问是否真的要覆盖该文件夹时点击Yes。 覆盖所有Subversion命令超出了本书的范围。但你愿意的话,你已经可以准备开发和保存subversion路径下自定义Magento模块。
magento开发中文手册的更多相关文章
-
Magento 2中文手册教程 - Magento 2 安装流程图
下图提供了安装Magento 2的安装流程概述: 设置你的服务器环境. 安装magento 2 必备软件, PHP, Apache, MySQL. 系统需求详细信息: 2.1.x 系统需求 获得mag ...
-
Magento 2中文手册教程 - 如何获得 Magento 2
Magento 2 安装 我们搜集了一些信息来帮助您开始使用Magento 2和你的Magento 2安装. 我们有一些资源帮助您开始使用Magento 2. 如何获得 Magento 2 参考下表开 ...
-
magento开发手册之目录结构
magento是一个很优秀的电商系统,很多朋友会用它部署自己的电商网站,少不了二次开发.下面我们随着ytkah来一起认识一下magento开发手册之目录结构吧. /app – 程序根目录 /app/e ...
-
NVelocity介绍,NVelocity中文手册文档及实例下载
NVelocity是什么velocity英音:[vi'lɔsiti]美音:[və'lɑsətɪ]近在做一个项目,客户要求有网站模板功能,能够自主编辑网站的风格,因为这个系统是为*部门做子站系统,举个 ...
-
《zw版&#183;Halcon-delphi系列原创教程》 Halcon分类函数&#183;简明中文手册 总览
<zw版·Halcon-delphi系列原创教程> Halcon分类函数·简明中文手册 总览 Halcon函数库非常庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核 ...
-
Swift中文手册 -- The Basics
原文:Swift中文手册 -- The Basics 基础部分 Swift 是 iOS 和 OS X 应用开发的一门新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 S ...
-
【C++ 中文手册】即将完成
[C++ 中文手册]即将完成 内容包含C++11,历时一年,日夜赶工,即将完成! 该参考手册主要由以下四部份内容组成: C++ 语言 C++ 继承了 C 语言 的大部分语法,并在其基础上修改或增加部分 ...
-
Flask 中文手册 0.10 文档
Flask 中文手册 0.10 文档 欢迎使用 Flask 欢迎阅读 Flask 文档. 本文档分为几个部分.我推荐您先从 安装 开始,之后再浏览 快速入门 章节. 教程 比快速入门更详细地介绍了如何 ...
-
TensorFlow开发者证书 中文手册
经过一个月的准备,终于通过了TensorFlow的开发者认证,由于官方的中文文档较少,为了方便大家了解这个考试,同时分享自己的备考经验,让大家少踩坑,我整理并制作了这个中文手册,请大家多多指正,有任何 ...
随机推荐
-
Python
语法 #!/usr/bin/python 注释:# 编码:# -*- coding: UTF-8 -*- 缩进 运算符 算数运算符 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得 ...
-
unlink和close关系
今天看到nginx用文件锁实现互斥的实现方案时,发现,unlink文件后还可需用fd,很是纳闷!于是搜索到此文,并自测了下,涨姿势了~分享给大家~ 原理: 每一个文件,都可以通过一个struct st ...
-
优之星S900平板电脑root方法
优之星S900root方法: 尝试百度一键root安卓的apk版本root失败. 电脑上下载百度一键root的Windows版本,平板设置→开发者选项→允许USB调试√,保持唤醒状态√,安全设置→允许 ...
-
C#多线程编程简述
NET将关于多线程的功能定义在System.Threading名字空间中.因此,要使用多线程,必须先声明引用此名字空间(using System.Threading;). a.启动线程顾名思义,“启动 ...
-
POJ2125 Destroying The Graph 二分图 + 最小点权覆盖 + 最小割
思路来源:http://blog.csdn.net/lenleaves/article/details/7873441 求最小点权覆盖,同样求一个最小割,但是要求出割去了那些边, 只要用最终的剩余网络 ...
-
Python pygame安装过程笔记
今天看到一个教程,是关于Python安装pygame模块的.觉得很好,拿来分享一下. 安装Python 额,这个小题貌似在这里很是多余啊.但是为了照顾到刚刚学习Python的童鞋,我还是多啰嗦两句吧. ...
-
luogu P1613 跑路
一开始看这道题时,发现是最短路,可是搜的又是倍增的题无可分说这是倍增+最短路 但是Dijkstra,SPFA我又不熟,可是看了数据范围心中萌生一种用Floyd做的方法 不扯了 先设一个三维bool数组 ...
-
centos7安装python,mariaDB,django,nginx
0,安装centos7 centos默认不开启网卡,需要在安装时将ens33设置为on,或者后续通过vi ifcfg-ens33,找到onboot,设置为yes ssg登陆centos7时,如果提示W ...
-
663. Equal Tree Partition 能否把树均分为求和相等的两半
[抄题]: Given a binary tree with n nodes, your task is to check if it's possible to partition the tree ...
-
推文《阿里凑单算法首次公开!基于Graph Embedding的打包购商品挖掘系统解析》笔记
推文<阿里凑单算法首次公开!基于Graph Embedding的打包购商品挖掘系统解析>笔记 从17年5月份开始接触Graph Embedding,学术论文读了很多,但是一直不清楚这技术是 ...