创建主题目录
- 进入
<your Magento install dir>/app/design/frontend>
创建一个文件夹,一般为供应商的名字
/app/design/frontend/<Vendor>
在第2步创建的文件夹下,创建主题目录,结构如下:
app/design/frontend/
├── <Vendor>/
│ │ ├──...<theme>/
│ │ │ ├── ...
│ │ │ ├── ...
声明你的主题
在创建好主题目录之后,你必须创建文件theme.xml, 该文件中至少应该包含主题名称和父主题名称(如果该主题继承自另外一个主题的话)。此外可以配置一个主题预览图片作为可选项。
添加或者复制一个theme.xml到你的主题目录
app/design/frontend/<Vendor>/<theme>
参考下面的配置示例配置你的主题:
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>New theme</title> <!-- your theme's name -->
<parent>Magento/blank</parent> <!-- the parent theme, in case your theme inherits from an existing theme -->
<media>
<preview_image>media/preview.jpg</preview_image> <!-- the path to your theme's preview image -->
</media>
</theme>
- 添加 registration.php
为了在系统中注册你的主题,需要在主题目录中添加文件registration.php,该文件需要包含以下内容:
<?php
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME,
'frontend/<Vendor>/<theme>',
__DIR__
)
其中 <Vendor>
就是供应商的名字, <theme>
是主题的名字.
配置图片
前台网站中产品图片的尺寸和其他属性一般都配置在view.xml文件中。这个配置文件是必须要有的,除非已经在父主题中存在。
如果你的产品图片尺寸和你继承的副主题不同,或者如果你没有继承自一个父主题而是重新创建了一个主题,那么请按照如下步骤添加view.xml文件。
1. 登陆你的服务器,确保该用户拥有在magento的安装目录中拥有创建目录和文件的权限。
2. 在主题目录下创建etc文件夹。
3. 从已有的主题(如mogento自带的Blank主题)中复制view.xml文件到你主题下的etc目录中。
4. 在view.xml文件中配置所有的产品图片尺寸。例如,你可以配置分类页中的产品尺寸为250x250px的正方形,代码如下:
...
<image id="category_page_grid" type="small_image">
<width>250</width>
<height>250</height>
</image>
...
view.xml详细的配置方法,可以参考Configure images properties for a theme
创建静态文件目录
一般你的主题应该会包含几种静态文件:样式、字体、JavaScript和图片。每一种类型应该分别存放在主题目录中的web文件夹下的子目录中:
app/design/<area>/<Vendor>/<theme>/
├── web/
│ ├── css/
│ │ ├── source/
│ ├── fonts/
│ ├── images/
│ ├── js/
主题目录结构
到目前为止,你的主题目录结构应该看起来如下所示:
app/design/frontend/<Vendor>/
├── <theme>/
│ ├── etc/
│ │ ├── view.xml
│ ├── web/
│ │ ├── images
│ │ │ ├── logo.svg
│ ├── registration.php
│ ├── theme.xml
│ ├── composer.json
主题的 Logo
在Magento中,默认的logo图片格式为logo.svg。当你把logo.svg放在主题目录/web/images下的时候,系统为自动识别为主题logo。当你的主题被使用时,它会出现在网站的头部。
如果你想用其他格式的图片作为logo,那你要耐点心继续往下看
声明主题Logo
为了声明主题logo,你需要添加一个layout的扩展文件<theme_dir>/Magento_Theme/layout/default.xml
。
例如:如果你想使用my_logo.png尺寸为300x300px作为你的logo,你需要做下面这样的声明:
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="logo">
<arguments>
<argument name="logo_file" xsi:type="string">images/my_logo.png</argument>
<argument name="logo_img_width" xsi:type="number">300</argument>
<argument name="logo_img_height" xsi:type="number">300</argument>
</arguments>
</referenceBlock>
</body>
</page>
其中声明尺寸其实是可选的。
结束,【创建主题】就先翻译到这,后面再翻点别的有用的,有兴趣也可以加QQ谝:359876077