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);
}
Пример #2
0
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);
    }
}
Пример #3
0
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);
}
Пример #4
0
 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();
 }