首页 > 解决方案 > 如何在 Acumatica 的 Modren UI 菜单中设置用户定义的图标

问题描述

我想在我的标题中添加自定义图标。如何添加它并能够在菜单中显示?

点击这里查看图片

标签: acumaticaacumatica-kb

解决方案


第 1 步:绘制图像(建议使用 PNG 格式)
    为了获得最佳可见性,请使用白色背景 (#FFFFFF),线条为黑色 就
    我个人而言,对于像素艺术,我使用 getpaint.net 中名为 Paint.NET 的程序
    我找到了比像素艺术的Photoshop更好。
    和 MS Paint 一样,除了它允许透明像素,有几个工具,并且允许右键和左键设置为不同的颜色,这甚至 Photoshop 都做不到(我只使用过 Mac 版本)

第 2 步:更改颜色
    绘制图像后,将背景设置为白色 (#FFFFFF),将前景设置为完全透明
    在 Paint.NET 中,您只需使用魔棒全局选择黑色,然后按删除键

第 3 步:将 PNG 转换为 SVG
    这个网站对我来说效果最好https://convertio.co/png-svg/
    还有其他网站,但大多数时候他们会给你一个 1 kb 的文件只是一个空的图像

第4步:固定间距。你以后会感谢我的。
    最好使用 NotePad++,因为常规的记事本不关心间距
    NotePad++ 可以理解制表符并识别包括 XML 在内的大多数语言,如果您错过了结束标记,这会有所帮助

第 5 步:为 Acumatica 添加所需的标签
    在 svg 标签内,添加一个符号标签。给它一个 id
    id="PX_IconName"
    Acumatica 会将下划线转换为空格
    id 需要对系统是唯一的,文件名也是如此,如果 Acumatica 已经给出,“PX”可以用分配给您的项目的 2 个字母前缀替换你一个。
    复制svg标签中的viewBox属性,粘贴到symbol标签中id后面的
    g标签里面,去掉fill属性,加上cla​​ss属性class="ac"
    ,别忘了后面的</symbol>标签</g> 标签

    如果图像有曲线,您可能希望将 g 的笔画属性设置为“圆形”,这可能会有所不同
    文件应如下所示

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="400.000000pt" height="400.000000pt" viewBox="0 0 400.000000 400.000000" preserveAspectRatio="xMidYMid meet">
    <symbol id="PX_IconName" viewBox="0 0 400.000000 400.000000">
        <g transform="translate(0.000000,400.000000) scale(0.100000,-0.100000)" stroke="none">
            <path d="M1923 2950 c-12 -5 -26 -17 -31 -27 -14 -27 13 -1382 28 -1397 6 -6 45 -11 91 -11 110 0 109 -2 109 191 0 84 5 390 11 680 l10 527 -21 21 c-17 17 -35 21 -98 23 -42 2 -87 -1 -99 -7z"/>
            <path d="M1923 1325 c-44 -19 -56 -48 -56 -140 -1 -129 31 -165 145 -165 107 0 148 44 148 160 0 82 -20 127 -64 145 -44 19 -131 19 -173 0z"/>
        </g>
    </symbol>
</svg>

第六步:将svg文件添加到实例
    svg文件在实例的\Content\svg_icons文件夹中,然后我们将它包含到包中进行分发
    。名称需要唯一,因为实际文件将被复制到实例中文件夹,因此任何冲突都会导致文件被覆盖

注意:
    经过大量的试验和错误,以及阅读 Acumatica 生成的 HTML,我发现带有透明前景的白色背景图像以及 class="ac" 标签允许 Acumatica 处理图像的着色。
    如果您不按照这些步骤操作,图像将始终是黑色的,或者只是不可见。这两个结果看起来都很糟糕。
    另外需要注意的是,Acumatica 目前不允许在仪表板小部件或移动站点地图中使用自定义图标
    如果您认为应该实现这两个功能,请在此处给想法投票:
    https ://feedback.acumatica.com/ideas/ ACU-I-1917
    https://feedback.acumatica.com/ideas/ACU-I-2029


推荐阅读