热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Magento2.X前端综合简要

主题是Magento的应用程序,它提供了整个应用的前端部分;主题旨在覆盖或自定义视图层资源,通过模块和库最初提供。主题由不同的供应商&#x

主题是Magento的应用程序,它提供了整个应用的前端部分; 

主题旨在覆盖或自定义视图层资源,通过模块和库最初提供。主题由不同的供应商(前端开发人员)实施,并拟分配为类似于其他组件的Magento系统的附加软件包。
现成的Magento应用程序提供了两种设计主题:亮度,作为演示“主题”,“空白”为自定义主题的创建奠定了基础。

              2.2.3上图是默认两个主题。

  1. 有关于使用示范主题开店是没有限制的,但如果你想自定义默认的设计,你需要创建一个新的主题。(不要在composer 修改主题,否则将会被线上的覆盖)

  2. 新的主题可以是独立的新的主题,也可以从默认或任何其他现有的继承。在Magento的系统中实现的主题概念的继承可以让你改变只有一定的主题文件,并从父主题继承,其余必要的文件。

  3. 在Magento的系统中添加一个新的主题所需的高级别步骤如下:参考操作

    1.根据主题创建一个目录app/design/frontend//2.添加声明文件 theme.xml 并创建 etc 目录并创建一个名为 view.xml 用的主题目录下的文件。
    3.添加 composer.json 文件。
    4.添加 registration.php
    5.创建 CSS,Javascript,图片和字体目录。
    6.在管理面板配置你的主题。

      

  4. 主题目录结构
    一般主题目录位于:app/design/frontend/
    可能在其他目录,比如:Magento的内置主题在ccomposer 主题布署 vendor/magento/theme-frontend-

    /
    ├── _/
    │ ├── web/
    │ │ ├── css/
    │ │ │ ├── source/
    │ ├── layout/
    │ │ ├── override/
    │ ├── templates/
    ├── etc/
    ├── i18n/
    ├── media/
    ├── web/
    │ ├── css/
    │ │ ├── source/
    │ ├── fonts/
    │ ├── images/
    │ ├── js/
    ├── composer.json
    ├── registration.php
    ├── theme.xml /_ 自选 模块特定的风格,布局和模板。
    /_/web/css/source 自选模块特定的样式(.css和/或.LESS文件)。通用样式模块都在module.less文件,样式部件都在widgets.less。
    /_/layout 自选布局文件,这些文件扩展默认模块或父主题布局。
    /_/layout/override/base 自选 布局覆盖默认模块布局
    /_/layout/override/ 自选 布局重写该模块的父主题布局
    /_/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.静态视图文件
      

    /
    ├── media/
    ├── web
    │ ├── css/ (except the "source" sub-directory)
    │ ├── fonts/
    │ ├── images/
    │ ├── js/

      

    2.动态视图文件

    .LESS文件,模板布局。动态视图文件位于一个主题目录,如下所示:/
    ├── Magento_/
    │ ├── web/
    │ │ ├── css/
    │ │ │ ├── source/
    │ ├── layout/
    │ │ ├── override/
    │ ├── templates/
    ├── web/
    │ ├── css/
    │ │ ├── source/

      

  5. 应用主题 
    1.管理员登陆进入后台CONTENT > Design > Themes.请确保你的主题会出现在主题列表中
    2.Stores > Configuration > Design.
    3.在 Scope下拉框中选择存储视图要应用的主题。
    4.在Design Theme选项卡,选择设计主题下拉新创建的主题。
    5.点击保存配置。
    6.如果启用缓存,清除缓存。
    7.要查看应用更改,重新加载店头版。

    添加设计例外
    设计例外,您可以指定,而不是为他们创造一个独立的商店浏览特定用户代理的替代主题。要添加的设计异常:
    1.在管理面板去 CONTENT > Design > Themes并确保您的主题出现在可用主题列表中。
    2.Stores > Configuration > Design.
    3.Scope下拉字段中,选择您的网站。
    4.在旁边的User-Agent例外设计主题选项卡上User-Agent Exceptions 单击添加。
    5.在搜索字符串 Search String中指定或者使用普​​通字符串或常规异常(PCRE)用户代理。在设计主题Design Theme下拉列表中选择要用于匹配代理的主题。
    6.点击保存配置
    7.如果启用缓存,清除缓存。
    8.要查看应用更改,重新加载店头版。

    新增主题无关的标志
    您可能需要设置一个永久性店标识,显示在店面无论应用什么样的主题。要添加一个永恒的主题无关的标志:
    1.Stores > Configuration > Design.
    2.Scope下拉菜单中,选择存储视图。
    3.在常规配置的设计Design 部分,展开标题Header标签。
    4.在LOGO Logo Image图片浏览领域中保存文件系统中的徽标文件。
    5.上传文件。
    6.点击保存配置
    7.如果启用缓存,清除缓存。
    8.要查看应用更改,重新加载店头版。您在此处添加的标志是存储在 /pub/media/logo/default/目录下
    要删除永久性标志,去同一个位置,选择旁边的标志图像的复选框,然后单击删除delete。

    清除缓存
    如果缓存在Magento管理员启用,则必须在应用主题后,清除缓存,加上设计例外,添加徽标,以及执行其他任务。系统消息通知您无效的缓存类型必须被刷新。
    1.点击 System > Cache Management.
    2.Clear the invalid cache types.
    故障排除(如果没有得到应用的变化)
    如果你清空缓存并重新加载页面,删除pub/static/frontend and var/view_preprocessed目录中的所有文件,然后重新加载页面后,不会应用您在管理配置的变化。您可以手动删除文件或grunt clean::请参阅安装和配置

  6. 主题图片属性配置 :
    view.xml用为主题的常规位置为:/etc/view.xml

    100 100

    调整目录图片
    Magento的catalog:images:resize,您可以将图像尺寸调整在您的店面展示;

    Magento的从缓存中提供店面形象,存储在缓存中(/pub/media/catalog/product/cache目录)
     
    更新图片缓存命令:php /bin/magento catalog:images:resize 
    显示Product images resized successfully 执行成功。

  7. fallback中的顺序是静态的资源 (CSS,Javascript的,字体和图像)等主题文件,布局和模板略有不同。

    设置父主题
    父主题的子主题theme.xml声明文件中指定。
    例如:橙色主题由OrangeCo从Magento的空白主题继承。继承在app/design/frontend/OrangeCo/orange/theme.xml声明如下:

    Magento/blank media/preview.jpg

    父和子主题可以属于不同的供应商。例如,自定义主题可以从Magento的空白主题继承。

    要自定义父主题,模块视图,或库文件中定义的静态视图文件,您可以按照流程进一步描述回退中的相关位置添加具有相同名称的文件覆盖它们。这也指.LESS文件,这在技术上不是静态的资源 。

  8. 定位模板
    找到负责店面或管理的特定部分的模板,你可以使用Magento的内置模板提示。
    要启用模板提示:
    1.Click Stores > Configuration > ADVANCED > Developer.
    2.在Scope 下拉在左上角选择您所需的模板
    3.在调试选项卡,设置模板路径的提示店面Template Path Hints for storefront为Yes是。要启用路径的提示管理员设置模板路径的提示管理员Template Path Hints for Admin为是Yes。
    4.保存更改,请单击右上角保存

    定位布局
    就像模板,布局被保存在每个模块的基础。您可以轻松地确定哪些模块,您有兴趣居住在该元素的模板定位布局文件。要找到模板,你可以在app目录中使用模板的提示或文本搜索,如前面所述。
    你已经确定了模块后,您可以搜索在以下位置的布局

    1/_/layout/
    2/_/layout/
    3/frontend/layout/
    4/view/base/layout/

      

    风格定位
    来定位被施加到某些元件的CSS规则,查找包含该元素的页面的模板。或者你可以使用浏览器的调试工具,以找到类名。在找到的类名,请在主题和风格模块目录文本搜索来查找定义类.LESS或.css文件。根据下面的备用方案进行搜索:
    1.主题风格 /web/css/
    2.模块的主题风格/_/web/css/
    3.父主题风格/web/css/
    4.模块样式的 frontend前端 区域/view/frontend/web/css/
    5.模块样式的base基础区域/view/base/web/css/

    例:
    让我们找到上定义用于在店面,当Magento的空白主题适用于商店视图中显示的迷你购物车的CSS类的文件。
    在迷你购物车的模板 app/code/Magento/Checkout/view/frontend/templates/cart/minicart.phtml顶级元素是minicart-wrapper类。
    所以,让我们在根据后备方案搜索“minicart-wrapper”的出现:
    1.在app/design/frontend/Magento/blank/web/css搜索,搜索到任何结果。
    2.在app/design/frontend/Magento/blank/Magento_Checkout/web/css.The“minicart-wrapper”式的搜索app/design/frontend/Magento/blank/Magento_Checkout/web/css/source/module/_minicart.less
    在确定哪些的.css或.LESS文件定义了类,您可以在自定义的.css或.LESS文件覆盖默认的类定义。有关详细信息,请参阅CSS的主题。

实用命令:

命令详解
magento setup:cache:{enable|disable|clean|flush|status}

管理缓存

magento setup:indexer:{status|show-mode|set-mode|reindex|info}

管理索引

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/magento

2.Magento 2.0 如何激活一个新的插件?

新插件文件拷贝到Magento 2.0 目录后,用下面命令激活之:
php bin/magento setup:upgrade

3.Magento前台或者后台js,或者css似乎没有正确的调用,怎么办?
js和css没有正确调用的症状是页面无修饰,图标不显示,鼠标点击打开的下拉菜单无法打开等,这时可以先删除

pub/static 除了.htaccess 的所有文件或文件夹。然后运行:
php bin/magento setup:static-content:deploy

4.如何重新安装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 /var/di/* /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_CN

2.Aadmin 后台登陆>右上角>admin 设置>国家设置中国

3.完成  

 

magento2更改商品图片在网站中不同位置的大小

1.一般在获取商品图片时都会出现以下代码

$image = 'index_tejia_list';//这里是在view.xml中配置大小的标识
getImage($_item, $image)->toHtml(); ?>

2.在view.xml中配置好高度和宽度

197271

 

创建一个新的block

xml version="1.0"?>

<page xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation&#61;"urn:magento:framework:View/Layout/etc/page_configuration.xsd"><body><referenceContainer name&#61;"content"><block name&#61;"blockextend.front.front" class&#61;"Njzz\BlockExtend\Block\Cms\Index\Index"template&#61;"Njzz_BlockExtend::cms/index/index.phtml"/>referenceContainer>body>
page>template&#61;"Njzz_BlockExtend::cms/index/index.phtml":模板位置
class&#61;"Njzz\BlockExtend\Block\Cms\Index\Index" block的命名空间&#43;类名

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 &#39;1111111111&#39;;}
}

view/frontend/templates/cms/index/index.phtml

/**** &#64;var $block \Njzz\BlockExtend\Block\Cms\Index\Index*/echo $block->index();?>

  

----------后台操作





转:https://www.cnblogs.com/q1104460935/p/9231926.html



推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
author-avatar
Jay_5
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有