function smarty_function_finder_result($params, &$smarty) { include_once 'shopObject.php'; $objects = shopObject::objects(); $return['_finder'] =& $params; $_smarty_tpl_vars = $smarty->_tpl_vars; $system =& $GLOBALS['system']; if (!($mod = $objects[$params['type']]) || !($o =& $system->loadModel($mod))) { $smarty->trigger_error('Wrong finder tfype: "' . $mod . '"', E_USER_ERROR); } $params['id'] = $o->idColumn; $params['params'] = serialize($params['params']); $params['controller'] = $o->adminCtl; $params['domid'] = 'sel_' . substr(md5(rand(0, time())), 0, 6); if (is_string($params['value'])) { $params['value'] = explode(',', $params['value']); } $cols = $params['cols'] ? $params['cols'] : $o->textColumn; $return['items'] =& $o->getFinder($cols, count($params['value']) > 0 ? array($o->idColumn => $params['value']) : -1, 0, -1, $count); $return['items']['custom_name'] = "商品"; if ($params['type'] == 'gift') { $return['items']['custom_name'] = "赠品"; } if ($params['type'] == 'coupon') { $return['items']['custom_name'] = "优惠券"; } $smarty->_smarty_include(array('smarty_include_tpl_file' => 'finder/input.html', 'smarty_include_vars' => $return)); $smarty->_tpl_vars = $_smarty_tpl_vars; unset($_smarty_tpl_vars); }
function smarty_function_filter($params, &$smarty) { include_once 'shopObject.php'; $objects = shopObject::objects(); $_smarty_tpl_vars = $smarty->_tpl_vars; $system =& $GLOBALS['system']; if (!($mod = $objects[$params['type']]) || !($o =& $system->loadModel($mod))) { $smarty->trigger_error('Wrong finder tfype: "' . $mod . '"', E_USER_ERROR); } if (include_once CORE_DIR . '/admin/controller/' . dirname($o->adminCtl) . '/ctl.' . basename($o->adminCtl) . '.php') { $ctlClass = 'ctl_' . basename($o->adminCtl); $obj = new $ctlClass(); $info = get_object_vars($obj); unset($obj); $value = $params['from'] ? $params['from'] : $params['value']; parse_str($value, $data); $objCat =& $system->loadModel('goods/productCat'); if ($mod == 'member/member') { $obj = $o->getFilter(array_merge($data, array($params['params']))); } else { $obj = $o->getFilterByTypeId(array_merge($data, array($params['params']))); } $include_var = array('filter' => $obj, '_finder' => array('gtype' => $objCat->getTypeList(), 'type' => $params['type'], 'name' => $params['name'], 'view' => $info['filterView'], 'from' => $value, 'value' => $value, 'params' => $params['params'], 'json' => json_encode($data), 'data' => $data, 'controller' => $o->adminCtl, 'domid' => substr(md5(rand(0, time())), 0, 6))); $smarty->_smarty_include(array('smarty_include_tpl_file' => 'finder/filter.html', 'smarty_include_vars' => $include_var)); $smarty->_tpl_vars = $_smarty_tpl_vars; unset($_smarty_tpl_vars); } else { $smarty->trigger_error('adminCtl ??', E_USER_ERROR); } }
function tpl_function_finder($params, &$smarty) { include_once 'shopObject.php'; $objects = shopObject::objects(); $system =& $GLOBALS['system']; if (!($mod = $objects[$params['type']]) || !($o =& $system->loadModel($mod))) { $smarty->trigger_error('Wrong finder tfype: ' . $params['type'], E_USER_ERROR); } $includeVars['filter'] =& $o->getFilter(null); $includeVars['_finder'] =& $params; $cols = $o->defaultCols; $params['order'] = $o->defaultOrder; $params['controller'] = $o->adminCtl; $params['filter'] = $params['params']; if ($params['infoUrl']) { $params['rowselect'] = true; } if (!$params['plimit']) { $params['plimit'] = 20; } //todo:自定义列 $includeVars['items'] =& $o->getFinder($cols, $params['filter'], 0, $params['plimit'], $count, $params['order']); $params['_name'] = substr(md5($_SERVER['QUERY_STRING']), 0, 6); if (!$params['var']) { $params['var'] = 'window.finder[\'' . $params['_name'] . '\']'; $params['initvar'] = 'if(!window.finder)window.finder={};'; } else { $params['initvar'] = 'var '; } $pager = array('current' => 1, 'total' => floor($count / $params['plimit']) + 1, 'link' => 'javascript:' . $params['var'] . '.jumpTo.bind(' . $params['var'] . ')(_PPP_)', 'token' => '_PPP_'); if (!$params['finder_action_tpl']) { $params['finder_action_tpl'] = $o->finder_action_tpl; } if (!$params['finder_filter_tpl']) { $params['finder_filter_tpl'] = $o->finder_filter_tpl; } $params['id'] = $o->idColumn; $params['count'] = $count; $params['pager'] =& $pager; $params['searchOptions'] = $o->searchOptions(); $params['orderBy'] = $o->defaultOrder[0]; $params['orderType'] = $o->defaultOrder[1]; $smarty->_fetch_compile_include($params['struct'] ? $params['struct'] : 'finder/common.html', $includeVars); }
function prefilter($type) { include_once 'shopObject.php'; $objects = shopObject::objects(); $this->pagedata['type'] = $type; $this->pagedata['filter'] = stripslashes($_POST['data']); $this->pagedata['_finder']['select'] = 'none'; $this->pagedata['options'] = $_POST; $this->setView('finder/pvfilter.html'); $this->output(); }