zencart 后台目录产品黄色icon_yellow_on.gif 解决方案

文件位置:manager\includes\modules\category_product_listing.php

文件内容:

  if (zen_get_products_to_categories($categories->fields[‘categories_id‘], true, ‘products_active‘) == ‘true‘) {
  echo ‘  ‘ . zen_image(DIR_WS_IMAGES . ‘icon_yellow_on.gif‘, IMAGE_ICON_LINKED);
  }

函数位置: 后台\includes\functions\general.php

函数内容:

//////////////////////////////////////////////////////////

function zen_get_products_to_categories($category_id, $include_inactive = false, $counts_what = ‘products‘) {
global $db;

$products_count = 0;
if ($include_inactive == true) {
switch ($counts_what) {
case (‘products‘):
$cat_products_query = "select count(*) as total
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c
where p.products_id = p2c.products_id
and p2c.categories_id = ‘" . (int)$category_id . "‘";
break;
case (‘products_active‘):
$cat_products_query = "select p.products_id
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c
where p.products_id = p2c.products_id
and p2c.categories_id = ‘" . (int)$category_id . "‘";
break;
}

} else {
switch ($counts_what) {
case (‘products‘):
$cat_products_query = "select count(*) as total
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c
where p.products_id = p2c.products_id
and p.products_status = 1
and p2c.categories_id = ‘" . (int)$category_id . "‘";
break;
case (‘products_active‘):
$cat_products_query = "select p.products_id
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c
where p.products_id = p2c.products_id
and p.products_status = 1
and p2c.categories_id = ‘" . (int)$category_id . "‘";
break;
}

}
$cat_products = $db->Execute($cat_products_query);
switch ($counts_what) {
case (‘products‘):
$cat_products_count += $cat_products->fields[‘total‘];
break;
case (‘products_active‘):
while (!$cat_products->EOF) {
if (zen_get_product_is_linked($cat_products->fields[‘products_id‘]) == ‘true‘) {
return $products_linked = ‘true‘;
}
$cat_products->MoveNext();
}
break;
}

$cat_child_categories_query = "select categories_id
from " . TABLE_CATEGORIES . "
where parent_id = ‘" . (int)$category_id . "‘";

$cat_child_categories = $db->Execute($cat_child_categories_query);

if ($cat_child_categories->RecordCount() > 0) {
while (!$cat_child_categories->EOF) {
switch ($counts_what) {
case (‘products‘):
$cat_products_count += zen_get_products_to_categories($cat_child_categories->fields[‘categories_id‘], $include_inactive);
break;
case (‘products_active‘):
if (zen_get_products_to_categories($cat_child_categories->fields[‘categories_id‘], true, ‘products_active‘) == ‘true‘) {
return $products_linked = ‘true‘;
}
break;
}
$cat_child_categories->MoveNext();
}
}

switch ($counts_what) {
case (‘products‘):
return $cat_products_count;
break;
case (‘products_active‘):
return $products_linked;
break;
}
}

时间: 2024-10-31 22:24:27

zencart 后台目录产品黄色icon_yellow_on.gif 解决方案的相关文章

基于AD的用户组织目录树选择工具的解决方案

基于AD的用户组织目录树选择工具的解决方案 2009-03-06 11:00 by Virus-BeautyCode, 1675 阅读, 5 评论, 收藏, 编辑 本文的需求来自进来SharePoint开发中的人员选择,基础中国的用户更加喜欢通过组织结构来选择人员,这样可以清晰的知道选择人员的部门,通过组织结构选择人员是本文的讨论点. 我也是集合了前人的思路,进行了整合,参考了下面的博客 基于AD的用户组织目录树选择工具的解决方案http://blog.lickies.cn/Lists/Post

关于DEDECMS自定义模型当中添加自定义字段后在后台添加内容后不显示解决方案

用DEDECMS的时间也不长,最近在做一个站时,就遇到了这个问题(自定义字段在后台不显示内容)中添加自定义字段后在后台编辑打开后发现我之前添加的内容不显示,如果是只是看看不单击确定的话,那么在前台数据的调用就是正常的,但是再次回到后台发现,那个几个字段就是不显示,没办法,在网上查了一下,还是没有找到问题的原因,算了于是自己看了一下他的附加表当中是不是有什么问题,打开后发现了,原来是在数据库里面字段的名是大写(PS:我在添加自定义字段是喜欢首字母大写)应该不会是这个问题吧!于是我把他们改成了小写字

织梦源码分析--- 后台目录结构(一)

1.左侧导航条 ①:index_menu.php require(dirname(__FILE__).'/config.php'); require(DEDEADMIN.'/inc/inc_menu.php'); require(DEDEADMIN.'/inc/inc_menu_func.php'); $openitem = (empty($openitem) ? 1 : $openitem); include DedeInclude('templets/index_menu2.htm'); ②

php Laravel 框架之建立后台目录

今天研究了在Laravel框架中的控制器中加入后台的目录.发现了一些小的规律,拿来和大家分享一下吧. 通常情况下,我们是直接在controllers目录中加入我们的控制器,然后再routes.php 路由表中寻找对应的控制器和action进行处理.可是如今有个问题,假设我们的前台和后台同在一个项目中,也就是说前台和后台的控制器会在一块.当然不是没有办法进行区分.我们能够在控制器前面加上Front,Admin等标记来分别前台控制器和后台控制. 这里我给大家提供一种方法来将前后台的控制器进行分离.

Ajax后台只执行一次的解决方案

1 $.ajax({ 2 url: 'Ajax/OrderBy.aspx', 3 data: {AppIds: sortedAppids}, 4 dataType: 'xml', 5 type: 'POST', 6 success: function(xml) 7 { 8 alert("排序成功!"); 9 10 } 11 }); ajax在同步交互时,第一次提交正常,再第二次提交如果和上次提交的url地址相同时将不进行提交,会用上次的返回值.这样处理也许是ext别有良苦用心,但是,如

读DEDECMS找后台目录有感

本文作者:红日安全团队--Mochazz 早上看了先知论坛的这篇文章:解决DEDECMS历史难题–找后台目录 不得不说作者思路确实巧妙,作者巧妙的利用了Windows FindFirstFile和织梦程序代码中对上传图片的逻辑判断,成功在Windows环境下爆破出后台目录.可能一些人不了解Windows FindFirstFile,其实就是Windows在搜索文件时,使用到的一个winapi 函数,有时候我们找不到自己上传的马时,也可以利用它,请阅读下面一段解释: 目前大多数程序都会对上传的文件

zencart后台订单详细页显示产品图片和链接

找到admin/order.php 大约491行 for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { 与 if (isset($order->products[$i]['attributes']) 之间的内容替换为 echo ' <tr class="dataTableRow">' . "\n" . ' <td class="dataTableContent&qu

微信支付之企业付款--微信商户后台没有“企业付款到零钱”解决方案

项目需要用到用户提现功能,准备用微信支付提供的企业付款功能,即提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款. 登录商户后台准备开通,发现产品中心中并不存在. 这没有,我要怎么开通啊,后来网上一顿搜索,发现一个解决方案,将原网址https://pay.weixin.qq.com/index.php/extend/product/lists?tid=3,com/后的改为/index.php/public/product/detail?pid=5,参见下

zencart后台管理中选项名称和选项内容和属性控制页面出错解决办法 WARNING: An Error occurred, please refresh the page and try again

后台管理中选项名称和选项内容和属性控制出现以下错误的解决办法WARNING: An Error occurred, please refresh the page and try again zen cart v1.5.1 的一个bug,重新下载更新的zencart安装包,然后取出以下三个文件替换:admin/attributes_controller.phpadmin/option_names_manager.phpadmin/option_values_manager.php 或者手工修复如