adfab/magentofuse

1.0 2014-05-29 06:52 UTC

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

##Grunt

还有更多精彩内容即将到来!

#使用方法

创建新项目

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文档所述

  1. 在app/design/frontend/rwd/custom_theme和skin/frontend/rwd/custom_theme中创建两个子目录
  2. 在Gruntfile.js中更改前两个变量内的监视主题和域名
  3. 登录到Magento管理后台,将设计主题从默认更改到custom_theme
  4. 仅复制需要覆盖的文件

现在您已经准备好了一个响应式的基础主题,可以对其进行自定义。

但这还没结束: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环境中进行测试。并且版本控制只会包含您模块的文件。

享受吧;)