为什么会需要标题矩阵?可以参照我之前一篇文章
汽配拍呀拍产品标题矩阵的使用帮助
通过针对每一个产品设置各种矩阵参数,然后通过参数的确是很方便生成不一样的产品标题
但是还有没有更简单更智能的方法?
做为汽配拍呀拍的开发者,在通过和用户的不断沟通交流后,做出了下面一个产品标题AI矩阵的实践。
先来分解客户需求。
客户先拿过来一个图,说这是他标题矩阵的生成方法。
按拍呀拍通用的矩阵设置如下
但是客户不想每一个产品都要做这种矩阵参数的配置。
于是我就开始利用拍呀拍强大的产品思维开始拆解了。
第一项内容“配件出|适用于”是明显的客户随便定制的
第二项是车型年款,这个可以从产品中的车型数据来
第三项,产品名称,可以通过产品分类来。
第四项,出厂日期,放在产品品牌那来看可不可以?
经过不间断的交流和深入了解。开始有点底了。
先进行配置建模如下:
json{ "适用于":{ "src":1, "value":"适用于|配件出|废物利用|再生物资|再生资源", "exp":"|", "title":0, "br":0, "type":1 }, "年份":{ "src":2, "value":"tag_name", "exp":"*", "title":0, "br":0, "type":3 }, "产品分类":{ "src":2, "value":"class_name", "exp":"/", "title":0, "br":1, "type":2 }, "拆车件":{ "src":1, "value":"原厂件,原车件,原装件,纯拆件", "exp":",", "title":1, "br":1, "type":2 }, "适配车型年款":{ "src":2, "value":"tag_name", "exp":",", "title":1, "br":1, "type":2 }, "出厂日期":{ "src":2, "value":"vehicle_name", "exp":"*", "title":1, "br":1, "type":1 } }
/** * 智能生成标题 * @param $product_id * @param $data * @param int $step * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public static function ai_title($product_id,$config) { if(!is_array($config)) { $config=json_decode($config,1); } $title=''; //src表示字段数据来源,exp表示字段数据隔符,value表示数据,title表示是否显示标题,br表示是否换行,type表示,获取一条还是全部内容随机。 $product=['来源于数据库查询数据'];//此代码省略 foreach($config as $k=>$v) { if($v['src']==1) { //固定值随机一个 $tmp=explode($v['exp'],$v['value']); }elseif($v['src']==2) { //取产品值 $tmp=explode($v['exp'],$product[$v['value']]); } if($v['title']==1) { //是否显示标题 $title.=$k; if($v['br']==1) { $title.=':'.chr(13).chr(10); } } if($v['type']==1) { $title.=$tmp[array_rand($tmp)];; }elseif($v['type']==2){ shuffle($tmp); $title.=implode(',',$tmp); }elseif($v['type']==3){ //生成序列数 preg_match_all('/(\d+)-(\d+)[^0-9]*$/',$tmp[0],$arr); for($i=$arr[1][0];$i<=$arr[2][0];$i++) { $title.=substr('0'.$i,-2).' '; } $title.='年款'.substr($tmp[0],0,strpos($tmp[0],$arr[0][0])); } if($v['br']==1) { $title.=chr(13).chr(10).chr(13).chr(10); } } return $title; }
客户只需要上传产品,标题就可以自动智能随机生成不同的标题。
生成效果
适用于08 09 10 11 12 13 日产逍客脚踏板
拆车件:
原装件,原车件,成色完美,原厂件,纯拆件
适配车型年款:
日产逍客08-13款
出厂日期:
2013年日产逍客-自动两驱2.0
此次程序是根据客户需求进行改进的,汽配拍呀拍这个小程序在架构设计上支持他做这种变动,而且这种变动也让客户更好的受益
后续,将会将这个过于专业的json配置变得更简单化。
本文作者:天外来信
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!