主题是Magento的应用程序,它提供了整个应用的前端部分; php
主题旨在覆盖或自定义视图层资源,经过模块和库最初提供。主题由不一样的供应商(前端开发人员)实施,并拟分配为相似于其余组件的Magento系统的附加软件包。
现成的Magento应用程序提供了两种设计主题:亮度,做为演示“主题”,“空白”为自定义主题的建立奠基了基础。css
2.2.3上图是默认两个主题。html
1.根据主题建立一个目录 app/design/frontend/<your_vendor_name>/<your_theme_name> 2.添加声明文件 theme.xml 并建立 etc 目录并建立一个名为 view.xml 用的主题目录下的文件。 3.添加 composer.json 文件。 4.添加 registration.php 5.建立 CSS,JavaScript,图片和字体目录。 6.在管理面板配置你的主题。
<theme_dir>/ ├── <Vendor>_<Module>/ │ ├── web/ │ │ ├── css/ │ │ │ ├── source/ │ ├── layout/ │ │ ├── override/ │ ├── templates/ ├── etc/ ├── i18n/ ├── media/ ├── web/ │ ├── css/ │ │ ├── source/ │ ├── fonts/ │ ├── images/ │ ├── js/ ├── composer.json ├── registration.php ├── theme.xml /<Vendor>_<Module> 自选 模块特定的风格,布局和模板。 /<Vendor>_<Module>/web/css/source 自选模块特定的样式(.css和/或.LESS文件)。通用样式模块都在module.less文件,样式部件都在widgets.less。 /<Vendor>_<Module>/layout 自选布局文件,这些文件扩展默认模块或父主题布局。 /<Vendor>_<Module>/layout/override/base 自选 布局覆盖默认模块布局 /<Vendor>_<Module>/layout/override/<parent_theme> 自选 布局重写该模块的父主题布局 /<Vendor>_<Module>/templates 自选 该目录包含覆盖此模块的默认模块模板或父主题模板主题模板。自定义模板也存储在这个目录中。 /etc/view.xml 若是存在于父主题须要一个主题,但可选 此文件包含全部店面产品图片和缩略图图像配置。 /i18n 自选 .csv文件的翻译。 /media 必需 该目录包含一个主题预览(你的主题截图)。 /web 自选 这能够直接从前端装入静态文件 /web/css/source 自选 该目录包含了援引从 Magento的UI库全局元素,并theme.less文件,覆盖默认的变量的值混入主题更少的配置文件。 /web/css/source/lib 自选 重写存储在UI库文件查看文件 lib/web/css/source/lib /web/fonts 自选 主题字体 /web/images 自选 主题图片 /web/js 自选 主题js /composer.json 描述了主题的依赖关系和一些元信息。将出如今这里,若是你的主题是一个composer包。 /registration.php 必须 须要在系统中注册的主题。 /theme.xml 必须 该文件是强制性的,由于它声明了一个主题为系统组件。它包含基本元信息,如主题名称和父主题名称,是主题是从现有的主题继承。该文件由Magento的系统可以识别的主题。
除了配置文件和主题的元数据文件,全部主题文件分为如下两类:
1.静态视图文件
前端
<theme_dir>/ ├── media/ ├── web │ ├── css/ (except the "source" sub-directory) │ ├── fonts/ │ ├── images/ │ ├── js/
2.动态视图文件web
.LESS文件,模板布局。动态视图文件位于一个主题目录,以下所示: <theme_dir>/ ├── Magento_<module>/ │ ├── web/ │ │ ├── css/ │ │ │ ├── source/ │ ├── layout/ │ │ ├── override/ │ ├── templates/ ├── web/ │ ├── css/ │ │ ├── source/
<images module="Magento_Catalog"> <image id="unique_image_id" type="image"> <width>100</width> <!-- Image width in px --> <height>100</height> <!-- Image height in px --> </image> </images>
调整目录图片
Magento的catalog:images:resize,您能够将图像尺寸调整在您的店面展现;json
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd"> <title>Orange</title> <parent>Magento/blank</parent> <media> <preview_image>media/preview.jpg</preview_image> </media> </theme>
父和子主题能够属于不一样的供应商。例如,自定义主题能够从Magento的空白主题继承。windows
要自定义父主题,模块视图,或库文件中定义的静态视图文件,您能够按照流程进一步描述回退中的相关位置添加具备相同名称的文件覆盖它们。这也指.LESS文件,这在技术上不是静态的资源 。1<current_theme_dir>/<Namespace>_<Module>/layout/ 2<parent_theme(s)_dir>/<Namespace>_<Module>/layout/ 3<module_dir>/frontend/layout/ 4<module_dir>/view/base/layout/
风格定位
实用命令:
浏览器
命令 详解 magento setup:cache:{enable|disable|clean|flush|status} 管理缓存缓存
magento setup:indexer:{status|show-mode|set-mode|reindex|info} 管理索引sass
magento cron:run 运行magento 2 定时任务
magento setup:di:compile 编译全部不存在的代理和工厂;并预编译一个商店和网站的类定义、继承信息和插件定义.
magento info:dependencies:{show-modules|show-modules-circular|show-framework}e 显示模块的依赖关系,循环依赖和Magento 2框架依赖.
magento i18n:{collect-phrases|pack} 建立翻译词典或翻译包
magento setup:static-content:deploy 部署静态视图文件
magento dev:source-theme:deploy 建立编译CSS文件
magento dev:tests:run 运行自动测试
magento dev:xml:convert 更新你的XML布局文件来匹配新的可扩展样式表语言转换(XSLT)样式表
magento setup:perf:generate-fixtures 生成用于性能测试的数据。
magento sampledata:install 安装magento 2演示数据
更多关于Magento演示数据的信息,请查看安装Magento2演示数据.
1.Magento 命令行工具
Magento2 带有一个命令行工具,在windows下,用管理员权限打开MS-DOS命令提示符,而后cd到Magento根目录,运行下面命令,就能够看到这个强大的命令行工具的命令清单:
php bin/magento2.Magento 2.0 如何激活一个新的插件?
新插件文件拷贝到Magento 2.0 目录后,用下面命令激活之:
php bin/magento setup:upgrade3.Magento前台或者后台js,或者css彷佛没有正确的调用,怎么办?
js和css没有正确调用的症状是页面无修饰,图标不显示,鼠标点击打开的下拉菜单没法打开等,这时能够先删除pub/static 除了.htaccess 的全部文件或文件夹。而后运行:
php bin/magento setup:static-content:deploy4.如何从新安装Magento 2.0?
在Magento CLI 运行:
php bin/magento setup:uninstall或者删除 app/etc/env.php, app/etc/config.php, var/cache, var/generation。
5.magento的view里面的default.xml 设置更新全部页面都会更新,若是只想更新helloworld
index 页面的内容 直接在helloworld_index_index.xmlk里面更改便可6.生产模式更改成开发者模式,删除VAR目录下的内容?
rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/*
magento deploy:mode:set developer
成功显示 Switched to developer mode.
magento安装中文语言包
方法一:
1.下载中文包(点击下载)
2.解压后将app 文件夹 dev文件夹 lib文件夹 放到网站根目录
3.在项目根目录输入命令:php bin/magento setup:static-content:deploy zh_Hans_CN
4.更新模块php bin/magento setup:upgrade方法二(拆分):
1.下载整个翻译的zh_Hans_CN_E.csv(假如位置在:I:/CODE/zh_CN/zh_Hans_CN_E.csv)magento i18n:pack -d I:/CODE/zh_CN/zh_Hans_CN_E.csv zh_CN zh_Hans_CN2.Aadmin 后台登录>右上角>admin 设置>国家设置中国
3.完成
magento2更改商品图片在网站中不一样位置的大小
1.通常在获取商品图片时都会出现如下代码
$image = 'index_tejia_list';//这里是在view.xml中配置大小的标识 <?php echo $block->getImage($_item, $image)->toHtml(); ?>
2.在view.xml中配置好高度和宽度
<images module="Magento_Catalog"> <image id="index_tejia_list" type="image"> <width>197</width> <height>271</height> </image> </images>
<?xml version="1.0"?> <!-- /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ --> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="content"> <block name="blockextend.front.front" class="Njzz\BlockExtend\Block\Cms\Index\Index" template="Njzz_BlockExtend::cms/index/index.phtml"/> </referenceContainer> </body> </page> template="Njzz_BlockExtend::cms/index/index.phtml":模板位置 class="Njzz\BlockExtend\Block\Cms\Index\Index" block的命名空间+类名
block block/Cms/Index/Index.php
<?php /** * Created by PhpStorm. * User: daimingkang * Date: 2016/3/12 * Time: 14:46 */ namespace Njzz\BlockExtend\Block\Cms\Index; class Index extends \Magento\Catalog\Block\Product\ListProduct{ public function index(){ echo '1111111111'; } }
view/frontend/templates/cms/index/index.phtml
<?php /** * * @var $block \Njzz\BlockExtend\Block\Cms\Index\Index */ echo $block->index(); ?>
----------后台操做