adfab / magentofuse
Requires
- composer/composer: dev-master
- incenteev/composer-parameter-handler: @stable
- ivanchepurnyi/ecomdev_phpunit: dev-dev
- laurent35240/magento-sass: dev-master
- leafo/lessphp: 0.4.*@dev
- leafo/scssphp: dev-master
- magento-hackathon/composer-command-integrator: dev-master
- magento-hackathon/magento-composer-installer: @stable
- mikey179/vfsstream: *
- richthegeek/phpsass: dev-master
- webgriffe/magento-installer: dev-master
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-14 13:38:45 UTC
README
由Composer和Grunt驱动的Magento管理
本项目直接受到http://en.wikipedia.org/wiki/AppFuse的启发
- 我想要Magento
- 我想要一个快速的Magento
- 我想要一个快速且易于安装的Magento
- 我想要一个快速且易于单元测试的Magento
- 我想要一个快速且易于扩展的Magento
- 我想要一个快速且易于皮肤定制的Magento
- 我想要一个快速且易于嵌入新功能的Magento
这就是adfab/magentofuse,它是一个由众多优秀人士创建的最佳模块和扩展驱动的Magento CE版本。
本项目旨在使您作为Magento开发者的生活更加轻松
- 使用Magento Fuse,您只需一行命令即可安装一个CE版本的Magento。安装包括创建数据库和上传样本(如果需要的话)。
##Composer
- ivanchepurnyi (https://github.com/EcomDev/EcomDev_PHPUnit)
- stof (https://github.com/Incenteev/ParameterHandler)
- mmenozzi (https://github.com/webgriffe/magento-installer)
- Vinai (https://github.com/magento-hackathon/magento-composer-installer)
##Grunt
- shama (https://github.com/gruntjs/grunt-contrib-watch)
- tkellen (https://github.com/gruntjs/grunt-contrib-less)
- sindresorhus (https://github.com/gruntjs/grunt-contrib-compass)
- hughsk (https://github.com/hughsk/kss-node)
- indieisaconcept (https://github.com/indieisaconcept/grunt-styleguide)
- shakyShane (https://github.com/shakyShane/grunt-browser-sync)
还有更多精彩内容即将到来!
#使用方法
创建新项目
composer create-project -s dev adfab/magentofuse new-project
注意:您的MySQL账户必须设置密码
注意:在Windows上,以管理员身份打开命令窗口(创建符号链接是强制性的)
此命令将
- 询问您想要安装的Magento版本,然后下载它(请耐心等待,因为Magento下载服务器甚至比composer更新还慢)。
- 安装PHPUnit模块
- 安装Grunt配置
- 进入安装过程:回答每个问题,包括数据库配置。
完成后,如果需要,请更新您的/etc/hosts文件以及您的Web服务器配置。重新启动Web服务器,您就可以开始使用了!
重新执行Magento配置和数据库安装
如果您想启动特定的Magento安装,请先检查是否存在app/etc/local.xml文件,这样Magento安装就可以启动。然后
composer run-script post-install-cmd
这将运行特定的composer post-install脚本来安装。
创建新主题
项目安装完成后,您可以直接从Chrome DevTools开发前端,同时更新所有连接到您的magento网站的浏览器(包括移动设备)。
需要在您的计算机上安装NodeJS、Grunt和Compass。
如Magento文档所述
- 在app/design/frontend/rwd/custom_theme和skin/frontend/rwd/custom_theme中创建两个子目录
- 在Gruntfile.js中更改前两个变量内的监视主题和域名
- 登录到Magento管理后台,将设计主题从默认更改到custom_theme
- 仅复制需要覆盖的文件
现在您已经准备好了一个响应式的基础主题,可以对其进行自定义。
但这还没结束:Magento Fuse带来了帮助前端开发的工具。Grunt配置将为您提供从Chrome DevTools修改Less/Sass文件的机会,并自动编译和同步浏览器(IE、FF、Chrome、Safari)上的文件,即使在您的手机上也是如此。
Grunt配置使用grunt-contrib-watch监视开发过程中的更改,grunt-contrib-less和grunt-contrib-compass编译Less文件,并为Chrome创建CSS映射文件以在Chrome Devtools中显示Less文件(令人惊叹),以及grunt-browser-sync同步所有浏览器上的CSS、JS和HTML(而不仅仅是Chrome)。
要实现这一点,只需从项目根目录启动Grunt
grunt dev
部署时不要忘记将Grunt命令行脚本化,以便刷新less/sass/css/图片
TDD CSS
这个特性是我正在开发的一个WiP功能:我想将前后端开发的工作流程应用到CSS开发中:测试驱动开发。
现在可以实现这个目标来开发CSS。我们将使用KSS文档http://warpspire.com/kss/以及NodeJS KSS-node项目和grunt-styleguide。
在您的开发过程中,一个实时风格指南会在/styleguide/index.html地址下创建(http://yourproject.local/styleguide/index.html)。
通过保存时的动态更新,您可以直接在文档的HTML模板上工作,创建设计的设计单元。
要使用此功能,只需启动Grunt
grunt dev
如何开发新的模块
简介
在Magento中,一个模块被分成许多目录,这使得其开发和维护变得困难。
多亏了Magento Fuse,我们将解决这个问题,简化模块的开发:您只需版本控制您的模块内容。仅此而已!
骨架
一个全新的工具,完全受Daniel Kocherga的Mtool(https://github.com/dankocherga/MTool)的启发,将很快添加到Magento Fuse中。在此期间,按照以下方式组织模块骨架
/app/etc/modules/MyNamespace_MyModule.xml
/app/code/community/MyNamespace/Monmodule/*
/app/design/frontend/base/default/layout/mynamespace/mymodule/*
/app/design/frontend/base/default/template/mynamespace/mymodule/*
/skin/frontend/base/default/css/mynamespace/mymodule/*
/skin/frontend/base/default/js/mynamespace/mymodule/*
/skin/frontend/base/default/images/mynamespace/mymodule/*
/js/mynamespace/mymodule/*
/lib/mynamespace/mymodule/*
开发过程
创建模块骨架
添加composer.json以将项目定义为Magento模块(“type”:“magento-module”)+描述安装映射
{
"name": "adfab/avatar",
"description": "Social commerce is on its way",
"version": "1.0.0",
"type": "magento-module",
"keywords": [
"magento", "avatar", "social commerce", "adfab"
],
"homepage": "http://www.adfab.fr",
"license":"OSL-3.0",
"authors": [
{
"name": "Grégory Besson",
"email": "gregory.besson@adfab.fr",
"homepage": "http://www.adfab.fr"
}
],
"require": {
"magento-hackathon/magento-composer-installer": "@stable"
},
"extra": {
"map": [
["app/etc/modules/Adfab_Avatar.xml", "app/etc/modules/Adfab_Avatar.xml"],
["app/code/community/Adfab/Avatar/", "app/code/community/Adfab/Avatar/"],
["app/design/frontend/base/default/layout/adfab/avatar/layout.xml", "app/design/frontend/base/default/layout/adfab/avatar/layout.xml"],
["app/locale/en_US/Adfab_Avatar.csv", "app/locale/en_US/Adfab_Avatar.csv"],
["app/locale/fr_FR/Adfab_Avatar.csv", "app/locale/fr_FR/Adfab_Avatar.csv"],
["skin/frontend/base/default/css/adfab/avatar/", "skin/frontend/base/default/css/adfab/avatar/"],
["skin/frontend/base/default/images/adfab/avatar/", "skin/frontend/base/default/images/adfab/avatar/"],
["skin/frontend/base/default/js/adfab/", "skin/frontend/base/default/js/adfab/"]
]
}
}
对此模块进行版本控制
使用Git或SVN,您喜欢哪个就用哪个
使用Magento Fuse安装一个Magento版本
完成后,在Fuse composer.json中声明SVN或Git存储库(以下为SVN的示例)
"require": {
"adfab/avatar": "dev-trunk"
},
"repositories": [
{
"type": "vcs",
"url": "http://myrepository.com/svn/MAGENTO/AVATAR"
}
],
启动composer update
(您的模块将安装在您的vendor目录中)
注意
不要忘记在系统/配置/开发者/允许符号链接中激活符号链接
如果您忘记了这一点,模板的渲染将静默失败:P
如果您想重新应用您的符号链接,只需这样做:
./vendor/bin/composerCommandIntegrator.php magento-module-deploy
将此模块目录添加到您的IDE
将模块目录作为项目添加到您的IDE中(对于Eclipse:新建->PHP项目从现有目录)。
就是这样,您现在可以使用与Magento核心文件无关的方式开发您的Magento模块了:)
每次修改都可以直接在您的Fuse环境中进行测试。并且版本控制只会包含您模块的文件。
享受吧;)