ecshop中聚美模板Keywords在哪里添加
在category.php 已经有了的$smarty->assign('keywords', htmlspecialchars($cat['keywords']));$smarty->assign('description', htmlspecialchars($cat['cat_desc']));$smarty->assign('cat_style', htmlspecialchars($cat['style']));categoty.dwt 只要在后台分类添加相应的关键词和描述就行了,分类页面有缓存的,你可以清除下缓存 看看!
ecshop后台 求完整的【条件搜索】步骤
ecshop后台通过ajax方式来进行搜索.比如我们通过ecshop后台的ajax方式来搜索退换货订单1:必须在htm中增增加以下搜索框,订单号 2:html中的ajax可以写成以下格式listTable.filter['order_sn'] = Utils.trim(document.forms['searchForm'].elements['order_sn'].value);listTable.filter['page'] = 1;listTable.loadList();我们可以看到以下,就是通过listTable.loadList();来触发ajax的。
3:我们再看php调用。
$result = get_filter();if ($result === false){如果返回结果为空,那么就进行ajax结果筛选$filter['invoice_no'] = empty($_REQUEST['invoice_no']) ? '' : trim($_REQUEST['invoice_no']);if ($_REQUEST['is_ajax'] == 1){$filter['order_sn'] = json_str_iconv($filter['order_sn']);}$filter['sort_by'] = empty($_REQUEST['sort_by']) ? 'cid' : trim($_REQUEST['sort_by']);$filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' : trim($_REQUEST['sort_order']);$sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('change') ." WHERE 1 " . $where;$filter['record_count'] = $GLOBALS['db']->getOne($sql);$filter = page_and_size($filter);/* 获活动数据 */$sql = "SELECT * "." FROM " . $GLOBALS['ecs']->table('change') ." WHERE 1 " . $where ." ORDER by $filter[sort_by] $filter[sort_order] LIMIT ". $filter['start'] .", " . $filter['page_size'];$filter['keywords'] = stripslashes($filter['keywords']);set_filter($filter, $sql);}else{$sql = $result['sql'];$filter = $result['filter'];}4:最后将查询结果返回$arr = array('res' =>$row, 'filter' =>$filter, 'page_count' =>$filter['page_count'], 'record_count' =>$filter['record_count']);return $arr;我们在来分析下,res是返回的所有数据,filter是过滤检索条件,page_count是分页数量,record_count表示查询的记录总数.
哪位知道ECSHOP里面后台左侧的菜单,是在哪张表里面存着的?以...
呵呵,这个啊,楼主你就要在数据库里面找了,数据库是没有,是写在php文件里面的,请楼主看languages里面的admin下的common.php和后台admin/includes/inc_menu.php,common.php里面写的是菜单吗,inc_nemu.php里面写的是地址,如果需要看权限的话,就要看这个目录下的inc_priv和languages里面的priv_action这两个是用来控制权限的其中inc_priv里面是存放的动作,这个动作是下载数据表admin_action里面的,而priv_action则是对应的名字,这一块是用来控制后台给管理员分配权限的,如果楼主把这四个文件的关系弄清楚了,那么ec的菜单和权限就是小菜一碟的,呵呵,欢迎和我交流沟通,哈哈…………
ecshop留言板添加一项必填项
ecshop留言板添加一项必填项-联系人 一、首先要为你的数据库的ecs_comment增加一个字段以存储联系人姓名:可以直接在后台-->数据库管理--->SQL查询里里直接执行以下sql语句:alter table ecs_comment add contact varchar(60) not null default ''; 此处注意,这条sql语句中的表前缀ecs_要和你网站的前缀一致,不然会报错,如果你不知道你ecshop网站的数据表前缀 ,请看这里 二、修改评论提交表单增加联系人表单项 打开你网站的themes文件夹,找到你的模板风格,进入里面,找到message_board.dwt,在 {$lang.email} 这段代码的下方增加 联系人 然后修改提交评论的js函数为/** * 提交留言信息 */ function submitMsgBoard(frm) { var msg = new Object; msg.user_email = frm.elements['user_email'].value; msg.contact = frm.elements['contact'].value; msg.msg_title = frm.elements['msg_title'].value; msg.msg_content = frm.elements['msg_content'].value; msg.captcha = frm.elements['captcha'] ? frm.elements['captcha'].value : ''; var msg_err = ''; if (msg.user_email.length > 0) { if (!(Utils.isEmail(msg.user_email))) { msg_err += msg_error_email + '\n'; } } else { msg_err += msg_empty_email + '\n'; } if (msg.contact.length == 0) { msg_err += '联系人不能为空\n'; } if (msg.msg_title.length == 0) { msg_err += msg_title_empty + '\n'; } if (frm.elements['captcha'] && msg.captcha.length==0) { msg_err += msg_captcha_empty + '\n' } if (msg.msg_content.length == 0) { msg_err += msg_content_empty + '\n' } if (msg.msg_title.length > 200) { msg_err += msg_title_limit + '\n'; } if (msg_err.length > 0) { alert(msg_err); return false; } else { return true; } } 三、修改处理评论提交的message.php if ($action == 'act_add_message') { include_once(ROOT_PATH . 'includes/lib_clips.php'); /* 验证码防止灌水刷屏 */ if ((intval($_CFG['captcha']) & CAPTCHA_MESSAGE) && gd_version() > 0) { include_once('includes/cls_captcha.php'); $validator = new captcha(); if (!$validator->check_word($_POST['captcha'])) { show_message($_LANG['invalid_captcha']); } } else { /* 没有验证码时,用时间来限制机器人发帖或恶意发评论 */ if (!isset($_SESSION['send_time'])) { $_SESSION['send_time'] = 0; } $cur_time = gmtime(); if (($cur_time - $_SESSION['send_time']) { show_message($_LANG['cmt_spam_warning']); } } $user_name = ''; if (empty($_POST['anonymous']) && !empty($_SESSION['user_name'])) { $user_name = $_SESSION['user_name']; } elseif (!empty($_POST['anonymous']) && !isset($_POST['user_name'])) { $user_name = $_LANG['anonymous']; } elseif (empty($_POST['user_name'])) { $user_name = $_LANG['anonymous']; } else { $user_name = htmlspecialchars(trim($_POST['user_name'])); } $user_id = !empty($_SESSION['user_id']) ? $_SESSION['user_id'] : 0; $message = array( 'user_id' => $user_id, 'user_name' => $user_name, 'user_email' => isset($_POST['user_email']) ? htmlspecialchars(trim($_POST['user_email'])) : '', 'contact' => isset($_POST['user_email']) ? htmlspecialchars(trim($_POST['contact'])) : '', 'msg_type' => isset($_POST['msg_type']) ? intval($_POST['msg_type']) : 0, 'msg_title' => isset($_POST['msg_title']) ? trim($_POST['msg_title']) : '', 'msg_content' => isset($_POST['msg_content']) ? trim($_POST['msg_content']) : '', 'order_id' => 0, 'msg_area' => 1, 'upload' => array() ); if (add_message($message)) { if (intval($_CFG['captcha']) & CAPTCHA_MESSAGE) { unset($_SESSION[$validator->session_word]); } else { $_SESSION['send_time'] = $cur_time; } $msg_info = $_CFG['message_check'] ? $_LANG['message_submit_wait'] : $_LANG['message_submit_done']; show_message($msg_info, $_LANG['message_list_lnk'], 'message.php'); } else { $err->show($_LANG['message_list_lnk'], 'message.php'); } } 四、增加后台显示联系人 a、打开admin/user_msg.php,把/** * * * @access public * @param * * @return void */ function msg_list() { /* 过滤条件 */ $filter['keywords'] = empty($_REQUEST['keywords']) ? '' : trim($_REQUEST['keywords']); if (isset($_REQUEST['is_ajax']) && $_REQUEST['is_ajax'] == 1) { $filter['keywords'] = json_str_iconv($filter['keywords']); } $filter['msg_type'] = isset($_REQUEST['msg_type']) ? intval($_REQUEST['msg_type']) : -1; $filter['sort_by'] = empty($_REQUEST['sort_by']) ? 'f.msg_id' : trim($_REQUEST['sort_by']); $filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' : trim($_REQUEST['sort_order']); $where = ''; if ($filter['keywords']) { $where .= " AND f.msg_title LIKE '%" . mysql_like_quote($filter['keywords']) . "%' "; } if ($filter['msg_type'] != -1) { $where .= " AND f.msg_type = '$filter[msg_type]' "; } $sql = "SELECT count(*) FROM " .$GLOBALS['ecs']->table('feedback'). " AS f" . " WHERE parent_id = '0' ...
ECSHOP首页模块修改问题
1:如何定义ajax对象的。
ajax对象是在js/transport.js文件中定义的。
里面是ajax对象文件。
声明了一个var Ajax = Transport;对象和一个方法Ajax.call = Transport.run;2:ajax可以使用两种方式传递数据.一种是get方式,一种是post方式. Ajax.call( 'user.php?act=is_registered', 'username=' + username, registed_callback , 'GET', 'TEXT', true, true ); Ajax.call('user.php?act=return_to_cart', 'order_id=' + orderId, returnToCartResponse, 'POST', 'JSON'); 3 ajax可以是传递text数据,也可以是一个json对象。
比如以下代码 goods.quick = quick; goods.spec = spec_arr; goods.goods_id = goodsId; goods.number = number; goods.parent = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId); Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), addToCartResponse, 'POST', 'JSON'); 里面的goods就是对象.而且是靠json来传递的。
返回的结果result也是对象. 4: ajax函数里面.第三个参数就是回掉函数的名称。
比如以上代码addToCartResponse 这个函数就是ajax处理结果的回调函数.5:在php代码中,一般是通过get或者post方式来接受函数。
比如以下例子,如果接受的是对象。
还需要用json数据格式来处理.比如以下 include_once('includes/cls_json.php'); $_POST['goods'] = json_str_iconv($_POST['goods']); 处理的返回结果,也需要是json格式发送给js die($json->encode($result));例如:HTML[html] view plaincopy [javascript] view plaincopy function searchUser() { var eles = document.forms['theForm'].elements; var keywords = Utils.trim(eles['keyword'].value); if (keywords != '') { Ajax.call('bonus.php?is_ajax=1&act=search_users', 'keywords=' + keywords, searchUserResponse, "GET", "JSON"); } } function searchUserResponse(result) { var eles = document.forms['theForm'].elements; eles['user_search[]'].length = 0; if (result.error == 0) { for (i = 0; i table('users') . " WHERE user_name LIKE '%" . mysql_like_quote($keywords) . "%' OR user_id LIKE '%" . mysql_like_quote($keywords) . "%'"; $row = $db->getAll($sql); make_json_result($row); }
你的那个ECSHOP商品搜索标题修改是怎么改的
Column 'keyword' cannot be null keyword不能为空!INSERT INTO `ecs_keywords` ( `date`, `searchengine`, `keyword`, `count` ) VALUES ('2013-08-27', 'BAIDU', NULL, '1')你这里提交了一个空值 你修改下 要么再提交的数据加个值 要么把keyword改为可为空!
转载请注明出处51数据库 » ecshop keywords