发明内容
为解决上述问题,本申请实施例通过提供一种在线交互式商品详情页编辑方法和系统,通过界面化编程达到简化开发维护操作,降低成本的目的,且通过自动匹配模板,解决系列处理问题,利用字符重组,解决中英文字符字体不同以及换行的问题,以及解决图文占位元素的定位问题。
本申请实施例提供了一种在线交互式商品详情页编辑方法,所述方法包括:提供多个操作界面,采用界面化编程技术,通过不同的操作界面分别处理商品详情页中的商品详情页模板以及商品信息,并封装成电商平台能够发布的商品详情页面;其包括步骤:
S1:提供商品详情页的模板编辑界面,对商品详情页的排版以及图文设计进行编辑,获取不同的图文展示模板,并组合形成商品详情页模板;
其中,所述模板编辑界面内预设有若干图文展示画布,所述图文展示画布上设有盒子模型,各所述盒子模型用于设置图文占位元素,通过拖拽或设置属性的交互方式处理各所述盒子模型以及各所述图文占位元素;后将各所述图文展示画布上交互的图文展示模板进行封装转换,组合形成JSON格式的商品详情页模板;
S2:提供商品详情页的商品管理界面,自定义选择商品详情页模板;接收商品图片信息以及关联的商品文字信息,自动匹配到所述商品详情页模板中的对应所述图文展示模板中,并替换所述图文占位元素;基于所述图文展示模板中的交互数据,自动处理所述商品图片信息以及所述商品文字信息,与所述商品详情页模板组成形成电商平台能够发布的商品详情页面。
进一步地,所述步骤S1中进一步包括:基于所述模板编辑界面中JS、DSS语言的开发环境,利用界面化编程技术,获取所述图文展示画布上所述盒子模型以及所述图文占位元素的交互数据,并自动转换生成所述图文展示模板的设计代码,而后将所述设计代码封装成JSON格式。
进一步地,所述步骤S1中的所述图文展示画布还用于通过布置多个所述盒子模型以形成系列模型,以此适配相同配置的多个所述商品图片信息。
进一步地,所述步骤S2中进一步包括利用数据库查询逻辑,按照存储顺序读取所述商品图片信息;利用大数据中相似度匹配算法,根据所选的商品图片信息自动匹配图文展示模板,使所述图文展示模板中的盒子模型数量适配所选的商品图片信息。
进一步地,所述大数据中相似度匹配算法采用循环选择所述图文展示模板以匹配所选的商品图片信息,其进一步包括:
利用JSON串解析归类法读取所述商品详情页模板中的图文展示模板;
根据是否获取商品图片信息,判断当前是否需要循环匹配系列模型,若是则根据ksort()函数对当前系列模型中的盒子模型进行排序,若否则结束循环;
判断是否需要循环匹配系列模型中的盒子模型,若是则获取商品图片信息的数量,根据当前系列模型的商品图片信息数量预期值以及获取商品图片信息数量的实际值,判断预期值与实际值是否相等,若不相等则比较并记录预期值与实际值的差距,且在循环匹配系列模型中,选择预期值比实际值大的最小值,若是相等则将所有商品图片信息记录到系列模型的盒子模型中。
进一步地,所述步骤S2中还包括将所述商品图片信息关联的商品文字信息利用字符拆分重组算法自动换行处理。
进一步地,将所述商品图片信息关联的商品文字信息利用字符拆分重组算法自动换行处理的方法进一步包括:
接收所述商品文字信息以及所述图文展示模板中的字符属性配置数据;
利用preg_match_all()函数将所述商品文字信息拆分为若干单个字符,并组成字符集;
按顺序依次提取所述字符集中的字符,根据预设的换行策略,分别找出连续的中文字符或英文字符后,将相同字符合并处理;
根据所述图文展示模板中的字符属性配置数据,利用calculate TextBox()函数计算合并处理后的字符所需的长宽高属性值。
进一步地,所述步骤S2中还包括利用相对递归定位算法调整所述商品图片信息或商品文字信息位置;
进一步包括,解析JSON格式的所述商品详情页模板中的图文展示模板,获取所述图文展示画布上的交互数据,查找定位元素,判断所述商品图片信息或商品文字信息是否存在定位设计逻辑;
从商品图片信息或者商品文字信息中查找判断是否存在定位元素,若不存在则在原始的图文占位元素中查找,然后将找到的图文占位元素的定位键值作为新的定位重新递归调用,直到找到从商品图片信息或者商品文字信息中获取到的数据或链路断开位置,并提取定位值。
第二方面,本申请实施例提供了一种在线交互式商品详情页编辑系统,设于电商上新PIM平台中,采用如权利要求1-8任意一项所述的方法,包括:模板编辑模块、商品管理模块,
所述模板编辑模块配置为提供商品详情页的模板编辑界面,对商品详情页的排版以及图文设计进行编辑,获取不同的图文展示模板,并组合形成商品详情页模板;
其中,所述模板编辑界面内预设有若干图文展示画布,所述图文展示画布上设有盒子模型,各所述盒子模型用于设置图文占位元素,通过拖拽或设置属性的交互方式处理各所述盒子模型以及各所述图文占位元素;后将各所述图文展示画布上交互的图文展示模板进行封装转换,组合形成JSON格式的商品详情页模板;
所述商品管理模块配置为提供商品详情页的商品管理界面,自定义选择商品详情页模板;接收商品图片信息以及关联的商品文字信息,自动匹配到所述商品详情页模板中的对应所述图文展示模板中,并替换所述图文占位元素;基于所述图文展示模板中的交互数据,自动处理所述商品图片信息以及所述商品文字信息,与所述商品详情页模板组成形成电商平台能够发布的商品详情页面。
本申请实施例中提供的一种在线交互式商品详情页编辑方法和系统,至少具有如下技术效果:
根据本发明的技术方案,利用盒子模型在图文展示画布上搭建图文展示模板,在商品图片信息上传前预先搭建商品详情页的设计架构,且商品图片信息上传操作页面与模板编辑界面位于不同界面,使得可以单独处理模板即可达到商品图片信息设计的目的,极大提高了商品详情页的装修效率。
本发明由于采用了相似度匹配算法,根据读取的商品数据素材包中的商品图片信息自动匹配图文展示模板,比如,读取单个商品图片信息,那么匹配的图文展示模板中只有一个盒子模型供商品图片信息绑定,从而优化了商品详情页的装修过程,仅需根据读取的商品图片信息数量自动匹配所需的图文展示模板。
本发明由于采用了字符拆分重组算法,利用多次循环逻辑,将输入的字符数据处理后自动换行,以解决中英文字体不同的问题,以提高字符显示美观性。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例1
参考图1所示,本申请实施例提供了一种在线交互式商品详情页编辑方法,该方法中,提供多个操作界面,采用界面化编程技术,通过不同的操作界面分别处理商品详情页中的商品详情页模板以及商品信息,并封装成电商平台能够发布的商品详情页面。
本实施例中利用在线交互式商品详情页编辑方法制作商品详情页面的步骤如下。
步骤S1:提供商品详情页的模板编辑界面,对商品详情页的排版以及图文设计进行编辑,获取不同的图文展示模板,并组合形成商品详情页模板。
其中,模板编辑界面内预设有若干图文展示画布,所述图文展示画布上设有盒子模型,各盒子模型用于设置图文占位元素,通过拖拽或设置属性的交互方式处理各盒子模型以及各图文占位元素,进而达到图文展示页面设计目的。后将各图文展示画布上交互的图文展示模板进行封装转换,组合形成JSON格式的商品详情页模板。
在步骤S1中进一步包括,基于模板编辑界面中JS、DSS语言的开发环境,利用界面化编程技术,获取所述图文展示画布上盒子模型以及图文占位元素的交互数据,并自动转换生成图文展示模板的设计代码,而后将设计代码封装成JSON格式。
本实施例中的模板编辑界面为设计师提供商品详情页的设计框架,模板编辑界面中预设有商品详情页中图文展示类型,比如用于展示主色图的图文展示类型,用于展示公共图的图文展示类型,用于展示细节图的图文展示类型,并通过不同类型的图文展示模板组合成商品详情页的展示框架。进一步地,商品详情页的模板编辑界面中包括多个交互区域。图文展示画布上的操作为其中一个交互区域,图文展示画布中预设盒子模型,盒子模型内设置图文占位元素,图文占位元素包括图片占位元素和文字占位元素。交互区域还包括图片类型选择区域,图片类型选择区域中增加或删减图片占位元素缩略图减,各图片占位元素缩略图连接一盒子模型中的图文占位元素,通过对图片占位元素缩略图命名区分当前盒子模型的类型。交互区域还包括文字编辑区域,文字编辑区域连接一盒子模型中的文字占位元素,并通过在文字编辑区域增加或删减文字占位元素,以达到在盒子模型内的增加或删减图文占位元素的目的。交互区域还包括图文占位元素设计区域,其中,通过界面化设计盒子内图文占位元素的属性值,包括但不限于排版设计、图片处理,排版设计中包括图片元素、文字元素的定位设计,比如相对盒子模型顶部或侧壁的距离设置,比如盒子模型的背景色设计,比如各文字元素之间的分组设计等等。图片处理中,根据现有图片处理软件的处理功能实现的,例如Photoshop,区别与现有图片软件的处理方式,为了更加方便商户操作,本实施例中将图片处理方式分为多种,任意一种处理方式选择其中一种即可,通过分别对各处理方式进行选择即可到达对图片占位元素的设计效果,从而当图片占位元素替换为图片数据时,设计效果直接体现在图片数据上,操作人员在设计商品详情页时,直接找到对应图片所在的图片占位元素即可进行相关处理操作,无需重复整个详情页的设计流程,减少了设计人员的工作量,即使没有设计技巧的人员,也能很快上手操作。
在步骤S1中,图文展示画布还用于通过布置多个所述盒子模型以形成系列模型,以此适配相同配置的多个所述商品图片信息。具体地,通过系列模型来处理不同颜色或者不同细节的相同类型的若干图片数据所用的图文占位元素,举例说明,将多个颜色不同的图片数据设为一个系列的图片数据,并展示在同一个图文展示模板上,利用系列模型组合多个盒子模型后,设置图文展示模板,系列模型中的盒子模型可以呈列式排版、行式排版、混合叠加排版等,通过带有系列标识的名称进行命名,使同一系列内的多个盒子模型具有相同的系列标识,从而同时选中盒子模型时,仅需处理一次盒子模型中的图文占位元素以及对同一系列的盒子模型进行排版,即可获得具有系列模型的图文展示模板,并以此操作方式简化商户的工作过程,提高商品详情页的处理效率,减少处理时间。
本步骤中将盒子模型以及盒子模型中的图文占位元素的交互数据封装转换为JSON格式的图文展示模板。进一步地,设计人员在商品详情页的模板编辑界面通过拖拽或设置属性的方式处理图文占位元素,或者通过拖拽以及设置属性的方式对盒子模型进行排版,界面后台直接生成对应的设计代码,再利用JSON格式的优势,将系列模型以及交互数据所对应的设计代码封装成JSON格式。
JSON格式的图文展示模板的数据格式比较简单,易于读写,格式都是压缩的,占用带宽小,易于解析这种语言,客户端JavaScript可以简单的通过eval()进行JSON数据的读取搜索,支持多种语言,包括ActionScript,C,C#,ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等语言服务器端语言,便于服务器端的解析,在PHP环境,现已经有PHP-JSON和JSON-PHP出现了,因此便于PHP序列化后的程序直接调用,且PHP服务器端的对象、数组等能够直接生JSON格式,便于客户端的访问提取.另外PHP的PEAR类已经提出了支持;JSON格式能够直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,但是完成的任务不变,且易于维护。
步骤S2:提供商品详情页的商品管理界面,自定义选择商品详情页模板;接收商品图片信息以及关联的商品文字信息,自动匹配到所述商品详情页模板中的对应所述图文展示模板中,并替换所述图文占位元素,替换的同时根据一些设定的定位、关联元素是否存在、图片处理方式等参数实现不同情况下的自动排版功能;基于所述图文展示模板中的交互数据,自动处理所述商品图片信息以及所述商品文字信息,与所述商品详情页模板组成形成电商平台能够发布的商品详情页面。
进一步,本实施例中还将商品图片处理与定位设计自动结合,以达到自动排版的目的,设置在同一商品详情页模板的不同商品图片信息,在考虑到不同盒子模型中的商品图片信息,本实施例中将循环定位与预设的参数配置相结合,以实现智能排版,实现商品详情页模板上不同位置的商品图片信息的智能排版。进一步举例说明,商品图片信息设置到商品详情页模板上时需要根据所要设置位置的盒子模型的基本配置进行图片处理以及自动对齐并定位排版。
在步骤S2之前,可以利用步骤S1的模板编辑界面预先设置多款商品详情页模板,根据不同的商品类型,设计人员可以先打好操作,预先对商品详情页模板进行勾画布局,利用步骤S1中的模板编辑界面设计多款商品详情页模板。
在步骤S2之前还包括,预先上传商品素材包,商品素材包中包括多款商品对应的若干商品图片信息。在步骤S2中,上传的商品图片信息根据自定义选择的商品详情页模板即可得到商品详情页面。
在步骤S2中进一步包括利用数据库查询逻辑,按照存储顺序读取商品图片信息;利用大数据中相似度匹配算法,根据所选的商品图片信息自动匹配图文展示模板,使所述系列模型中的盒子模型数量适配所选的商品图片信息。
进一步地,本步骤中的大数据相似度匹配算法采用循环选择图文展示模板以匹配所选的商品图片信息,其进一步包括:
利用JSON串解析归类法读取所述图文展示模板中的系列模型;
根据是否获取商品图片信息,判断当前是否需要循环匹配系列模型,若是则根据ksort()函数对当前系列模型中的盒子模型进行排序;若否则结束循环;
判断是否需要循环匹配系列模型中的盒子模型,若是则获取商品图片信息的数量,根据当前系列模型的商品图片信息数量预期值以及获取商品图片信息数量的实际值,判断预期值与实际值是否相等,若不相等,则比较并记录预期值与实际值的差距,且在循环匹配系列模型中,选择预期值比实际值大的最小值,若是相等,则将所选商品图片信息记录到系列模型的盒子模型中。
本步骤中的相似度匹配算法利用所选的商品图片信息自动选择最合适的系列模型,当然,当图文展示模板中只有一个盒子模型时,可以认为该图文展示模板中设有循环次数较少的特殊系列模型。通过在多个已设计好的图文展示模板中选择最合适图文展示模板以生成图片格式的图文展示页面。
在步骤S2中,所述文字区域还包括将所述商品图片信息关联的商品文字信息利用字符拆分重组算法自动换行处理。其方法进一步包括:
接收所述商品文字信息以及所述图文展示模板中的字符属性配置数据。利用preg_match_all()函数将所述商品文字信息拆分为若干单个字符,并组成字符集;按顺序依次提取所述字符集中的单个字符,根据预设的换行策略,分别找出连续的中文字符或英文字符后,将相同字符合并处理;根据所述图文展示模板中的字符属性配置数据,利用calculate TextBox()函数计算合并处理后的字符所需的长宽高属性值。
在步骤S2中合成图片格式的图文展示页面之前还包括对输入的商品文字信息进行中英文字体调整以及换行处理。
具体包括:
接收商品文字信息以及图文展示模板中的与商品文字信息有关的属性值。当然图文展示模板中与字符有关的属性值可以理解为在模板编辑界面对图文占位元素中文字元素属性值设置,本步骤中接收商品管理界面中输入的商品文字信息,同时获取JSON格式的图文展示模板中的一些配置字符的属性值,或者说,图文展示模板中与文字有关的配置信息,进一步为详情页模板设计中配置的属性参数,比如中英文字体、字号、宽度等。
本实施例进一步将接收的商品文字信息拆分成若干单个字符,具体表现为,利用preg_match_all()函数将所述商品文字信息拆分为若干单个字符,并组成字符集。
在对字符集计算处理之前还包括设置变量$key,用于记录商品文字信息的行数;设置$text_line数组,用于记录每行商品文字信息;设置$has_blank_space,用于空格计数;设置$text_line_width,用于单行行宽计数;设置$_next_v,用于储存循环字符集中的下一个字符;设置$_en_v,用于记录循环中连续的英文;设置$_cn_v,用于记录循环中连续的中文。因此可以知道,在处理之前需要预设与行量有关的多个参量。本实施例中利用多个参量数定义换行策略,进一步地,换行策略中包括多个循环处理策略。
第一个循环策略为,判断字符集中的特殊字符、换行字符、空格字符等,特殊字符为常见的特殊符号,比如,“/-~@#$!%^&*():;"'}]{[”,本次循环步骤包括:
按顺序提取字符集中的单个字符;判断是否为特殊字符,若是则计算行数,即为$key++,行数计数器+1;$has_blank_space=0,空格计数器归0;Stext_line_width=0,行宽计数归0,并返回字符集重新提取字符。若否则再次判断字符是否为行号字符“/r”、“/n”,若是则Shas_blank_space++,空格计数器+1,并返回字符集重新提取字符。若否则获取当前单个字符,即获取获取循环中当前字符中英文,记录获取$_language值为en或cn。
第二次循环策略为,获取循环中的中文字符或英文字符,进行五次在内的判断循环,以便将当前字符拼接到对应的中文字符或者英文字符上。
第一次判断是否存在下一个字符,表示为判断当前单个字符是否为末位字符,若是则更新更新$_next_v变量,并进行第五次判断表示:$has_blank_space!=0,以及对更新的$_next_v变量进行第二次判断,判断更新$_next_v变量后,判断下一个字符是否为特殊字符,若是则将当前字符拼接该特殊字符,并进行第五次判断,若否则进行第三次判断,判断下个字符是否为回车或者空格,若是则$_next v=false,若否则获取下一个中文字符或英文字符,并进行第四次判断,第四次判断下个字符是否为中文字符,表示为下个字符的文字属性==$_language,若否则表示$_next_v=false,并进入第五次判断;第五次判断表示:$has_blank_space!=0,若是则根据空格数量将空格拼接到当前字符之前,即判断当前字符之前是否有空格,若否则将当前字符拼接到对应的$_en_v或者$cn_v上,以此得到一串连续的中文字符或者一串连续的英文字符。
第三次循环策略,用于配置字符间距及长宽高属性。具体步骤包括两个分支。
第一分支中,第一次判断$_en_v有值且$_next v不为false且为英文字符时,将$_en_v拼接上$_next v,并获取字符串长度,进行第二次判断,判断是否超过配置设置的单行最大宽度,若否则返回循环进行拼接,若是则将当前字符值设置为$_en_v。
第二分支中,第一次判断$_cn_v有值且$_next v不为false且为中文字符时,将$_cn_v拼接上$_next v,并获取字符串长度,进行第二次判断,判断字符串长度、行宽计数、字间距是否大于设置的最大行宽,若否则返回循环进行拼接,若是则将当前字符值设置为$_cn_v。
从第一分支、第二分支置空$_en_v、$_cn_v,并获取获取当前字符的长度高度等数据,设置$text_line_width,累加字间距、当前字符长度,判断$text_line_width是否大于最大宽度,若是则“$key++;$Stext_line,_width=当前字符宽度”,若否利用Stext_height记录行高,以$key做为键值将数据存入Stext_line,并返回至字符集中,提取下一个字符。其中,计算长度采用calculate TextBox方法能获取到字符串的一些长宽高属性计算是会根据配置传入一些字号字体等配置数据。
本步骤S2中还包括利用相对递归定位算法调整所述商品图片信息或商品文字信息所在图文占位元素的位置。进一步包括,解析JSON格式的图文展示模板,从设计代码中查找定位元素,判断所述商品图片信息或商品文字信息是否存在定位设计逻辑;从商品图片信息或者商品文字信息中查找判断是否存在定位元素,若不存在则在原始的图文占位元素中查找,然后将找到的图文占位元素的定位键值作为新的定位重新递归调用,直到找到从商品图片信息或者商品文字信息中获取到的数据或链路断开位置,并提取具有的定位置。
本步骤中采用相对递归定位算法解决商品数据复杂多变情况下的元素定位。其中,相对定位距离支持公式计算及特定关键词计算#self_height#、#self_width#、#target_height#、#target_width#。例:D相对于C的顶部距离可以设置为#self_height#+50(D的高度+50像素)或#target_height#+50(C的高度+50像素)。
相对递归定位算法的递归逻辑为,解析页面传来的json数据,如果元素存在定位设定走下图代码逻辑。参数说明$_position正在处理中元素的配置数据,$element_position其他全部处理完成的元素(未正常获取数据的元素不会记录在其中),$getRelativeX递归存储用,$orig_element原始的全部元素的键值递归查找时使用。从$element_position中查找对应定位元素是否存在,如果不存在则在原始数据$orig_element中查找然后把找到元素的定位键值作为新的定位重新递归调用方法,直到找到从$element_position中获取到的数据或链路断开($orig_element元素无指定定位)。公式计算或直接取值获取具体定位值。
实施例2
本申请实施例提供了一种在线交互式商品详情页编辑系统,设于电商上新PIM平台中,采用实施例1中任意一项的方法,包括:模板编辑模块、商品管理模块。
所述模板编辑模块配置为提供商品详情页的模板编辑界面,编辑商品详情页中不同排版以及不同图文设计的图文展示模板,组合形成商品详情页模板。
其中,所述模板编辑界面内预设有若干图文展示画布,所述图文展示画布上设有盒子模型,各所述盒子模型用于设置图文占位元素,通过拖拽或设置属性的交互方式处理所述盒子模型以及所述图文占位元素,以达到图文展示页面设计目的;后将各所述图文展示画布上的交互数据封装转换为JSON格式的图文展示模板,以形成JSON格式的商品详情页模板。
所述商品管理模块配置为提供商品详情页的商品管理界面,自定义选择商品详情页模板;接收商品图片信息以及关联的商品文字信息,自动匹配到所述商品详情页模板中的对应所述图文展示模板中,并替换所述图文占位元素,替换的同时根据一些设定的定位、关联元素是否存在、图片处理方式等参数实现不同情况下的自动排版功能,基于所述图文展示模板中的交互数据,自动处理所述商品图片信息以及所述商品文字信息,与所述商品详情页模板组成形成电商平台能够发布的商品详情页面。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。