艺灵设计

全部文章
×

destoon b2b教程之调用商城栏目下自定义分类字段

作者:艺灵设计 - 来源:http://www.yilingsj.com - 发布时间:2015-11-19 14:28:15 - 阅: - 评:2 - 积分:0

摘要:
destoon商城栏目下系统默认分类可以用指定函数get_maincat()进行调用,但是自定义的分类字段却不能调用。这是因为数据表不同,所以需要手动修改......

经市场部与运营部初步协商后,公司(窝窝宝)网站首页左侧的栏目分类已经定下来了。如图:窝窝宝首页左侧分类20151119

从上面的截图中可以看出这里是很多细分类,由于公司市场部与运营部经常改需求,所以这里的展示的分类可能会随时变化。为了解决这一坑爹现象,最好的解决方法就是从系统中调用分类字段了。在调用自定义字段前我们还是先来试调用一下系统中已存在的部分字段算是先热热身吧。

一、调用商城栏目下已有的分类字段

如果看官不知道destoon商城栏目下的分类字段如何调用的话,可以到catalog.htm文件中复制一份源码,完整路径为:/网站根目录/template/文件夹/chip/catalog.htm。代码配图:调用catalog.htm中第2到第28行代码我们直接复制前28行的代码放到页面中看下效果吧。

调用catalog.htm页面中源码

  1. {php $mid = 16;}<!--指定展示商城模块的分类-->
  2. <table width="100%" cellpadding="0" cellspacing="0">
  3.  {php $child = get_maincat(0, $mid, 1);}
  4.  {loop $child $i $c}
  5.  {if $i%2==0}<tr{if $i%4==2} bgcolor="#F9F9F9"{/if}>{/if}
  6.   <td valign="top" width="50%" class="catalog_tds">
  7.   <p>
  8.   <a href="{$MODULE[$mid][linkurl]}{$c[linkurl]}" class="px15"><strong>{set_style($c[catname], $c[style])}</strong></a>
  9.   {if $c[child]}
  10.   {php $sub = get_maincat($c[catid], $mid, 2);}
  11.   {loop $sub $j $s}{if $j < 5} <a href="{$MODULE[$mid][linkurl]}{$s[linkurl]}"><strong>{set_style($s[catname], $s[style])}</strong></a>{/if}{/loop}
  12.   {/if}
  13.   </p>
  14.   {if $c[child]}
  15.   {php $sub = get_maincat($c[catid], $mid, 1);}
  16.   <ul>
  17.   {loop $sub $j $s}
  18.   <li><a href="{$MODULE[$mid][linkurl]}{$s[linkurl]}" class="g">{set_style($s[catname], $s[style])}</a></li>
  19.   {/loop}
  20.   {if $j>8}<li><a href="{$MODULE[$mid][linkurl]}{$c[linkurl]}" class="g">更多</a></li>{/if}
  21.   </ul>
  22.   <div class="c_b"></div>
  23.  {/if}
  24.  </td>
  25.  {if $i%2==1}</tr>{/if}
  26.  {/loop}
  27. </table>

复制上面代码后,我们粘贴到首页中,直接点击预览看效果吧。相关操作配图:调用catalog.htm页面代码后在前台页面中展示的效果

从图中可以看到我们已经成功调用出了商城类目下的分类了,接下来我们来调用自定义分类字段。

二、在商城栏目下添加自定义字段

既然要调用自定义分类,首先我们要添加自定义字段。

步骤:管理员权限登录后台--功能模块--商城模块--模块设置--定义字段--添加字段--一系列操作--确定。流程配图:对于这里的一些待填写项,艺灵不做过多解释,基本上在摸索过程中,看官能大致了解其用途。例如:勾选直接显示后,在添加商品页面会直接显示该字段选项。配图:

添加完字段后我们来看下刚添加的字段吧,如图:

接下来我们来开始调用刚添加的这些标签。细心的看官会发现上面的截图中蓝色框中的部分已显示了标签调用方法,但复制这些标签在首页并不能成功调用出东西,只是在商品详情页,也就是show.htm页面可以调出内容。这显示不合理,因为需求中的分类是直接显示在首页的。

如果按照前面调用商城栏目的方法也不能成功调出内容,因为新添加的字段是另一个数据表中!

三、查看新添加自定义字段所在表

步骤:登录phpmyadmin--进入destoon数据库--选择destoon_fields表--点击“浏览”--此时我们可以看到我们已添加的自定义字段了。操作配图:查看destoon_fields表

四、在global.func.php文件中创建get_fields()函数

知道表后,我们需要新建一个类似于get_maincat()的函数,目的是便于调用我们已添加的字段。

我们先找到global.func.php文件,完整路径:/网站根目录/include/global.func.php。在第668行左右我们可以看到刚提到的get_maincat()函数,这个函数对应的是category表,我们直接复制一份然后再修改吧。配图:在global.func.php文件中创建get_fields()函数

经过我们技术部的@春杰童鞋的修改及艺灵的不断需求下,已将get_fields()函数由单一调用到现在可以实现数组化调用,并且修复了数组索引值与输出不匹配的问题。(即:数组的索引值是从0开始计算,则实际数组的实际长度要比索引值小1。如果数组长度为3,则输出的索引值是:0,1,2,3。这样一来,当索引为3时就会输出一个空值。下面代码已修复这些问题。)赞一个!

好了,不废话了,源码已打包好了,需要的看官可以花积分来进行下载。

资源下载

  1. destoon.b2b教程之调用商城栏目下自定义分类字段.zip  积分下载,不喜勿下。

有了函数后,可能很多看官还不知道如何来调用,接下来我们将演示一个完整的案例。从上面的destoon_fields表中我们可以得到一些字段,我们接下来将从下图中输出titleoption_value等值。配图:destoon_fields中部分样本字段

五、调用get_fields()函数

需求一:调用itemid为20的titleoption_value的值。

需求一源码:

  1. {php $mid = 16;}<!--指定模块id为16,即调用商城模块-->
  2. {php $child =get_fields(array(20));}<!--指定itemid为20-->
  3. {loop $child $m $val}<!--循环体-->
  4.  <div>
  5.   <h2>{$val[title]}</h2><!--输出itemid为20时的title-->
  6.   <p>
  7.    {loop $val['option_val'] $i $s}<!--循环输出option_val的值-->
  8.     {$s[1]} | <!--option_val的值在这里显示-->
  9.    {/loop}
  10.   </p>
  11.  </div>
  12. {/loop}

代码配图:调用itemid为20的title和option_value的值怎么样,输出的titleoption_valuedestoon_fields表中的信息已经匹配了吧。

刚展示的是itemid为20信息,接下来我们展示多个itemid的信息。

需求二:调用itemid为21,23,24的titleoption_value的值。

需求二源码:

  1. {php $mid = 16;}<!--指定模块id为16,即调用商城模块-->
  2. {php $child =get_fields(array(21,23,24));}<!--指定itemid为20,23,24-->
  3. {loop $child $m $val}<!--循环体-->
  4.  <div>
  5.   <h2>{$val[title]}</h2><!--输出itemid为20时的title-->
  6.   <p>
  7.    {loop $val['option_val'] $i $s}<!--循环输出option_val的值-->
  8.     {$s[1]} | <!--option_val的值在这里显示-->
  9.    {/loop}
  10.   </p>
  11.  </div>
  12. {/loop}

代码配图:调用itemid为21,23,24的title和option_value的值

不知道看官有没有注意上面代码中黄色高亮部分,仅仅修改这一处即可实现调用一条或多条指定itemid的信息,是不是很方便?如果看官想调用其它信息,如:nameitemidtb等字段时只需要修改上面红色高亮代码部分即可。

----------完----------

转载声明:
  若亲想转载本文到其它平台,请务必保留本文出处!
本文链接:/xwzj/2015-11-19/344.html

若亲不想直保留地址,含蓄保留也行。艺灵不想再看到有人拿我的技术文章到他的地盘或者是其它平台做教(装)程(B)而不留下我的痕迹。文章你可以随便转载,随便修改,但请尊重艺灵的劳动成果!谢谢理解。

亲,扫个码支持一下艺灵呗~
如果您觉得本文的内容对您有所帮助,您可以用支付宝打赏下艺灵哦!

Tag: destoon b2b网站管理系统 destoon v6.0教程 调用标签字段 自定义字段 商城栏目 get_maincat()

上一篇: destoon b2b教程之调用指定itemid的商品信息且使用自定义图片   下一篇: 在苹果ipad桌面上添加快捷图标的坑爹经历

评论区