ecmall 自定义编辑页面
ecmall

大体的工作计划。
一、创建后台的编辑链接,以便可视化编辑网页。
二、添加导入自定义CSS功能,以便与首页不同。
三、可视化编辑我们需要的页面。
四、在导航栏加上我们的刚做的页面。
具体开始:
因为很多是上一节的内容,不再具体讲已经讲过的内容。
Admin/app/template.app.php 309 行附近,function _get_editable_pages()里面再加上'adult'=>SITE_URL.'/index.php?act=adult'在languages\sc-utf-8\admin\ng.php 里面加上'adult'=>'成人',接着打开app\default.app.php 在里面加一个方法我这里取名为adult是因为我想弄一个成人频道,代码如下。
functionadult(){
$this->assign('icp_number',Conf::get('icp_number'));
/* 热门搜素 */
$this->assign('hot_keywords',$this->_get_hot_keywords());
的,就会按最后的效果显示。附件里有我从朋友
拿下来的效果,好了,现在基本完工了,我们来可视化编辑我们的另一个页面。你想弄成什么样就弄成什么样喽。
接下来我们要去添加一个导航。添加一个自定义的导航网址处填写“网址”+index.php?act=adult即可。如果在本地测试的朋友添加网址//localhost/…这样的网址是它提示我们不是正确的网址。那我们去admin/templages/navigation.form.html找到
ECMall模板解析语法与机制

ECMall模板解析语法与机制2011-05-22/architecture/archt_T emplateSyntaxAndAnalysis.php在ECMall模板中,用"{"开头,以"}"结尾就构成一个标签单元,"{"紧接着的单词就是标签名。
在标签单元中单词前含"$"(美元符)的为变量名。
资源引用res标签∙功能:返回当前模板当前风格目录的url路径∙实例:{res file=css/ecmall.css}这个标签在模板编译后将变成http://商城域名/themes/default/styles/default,注意末尾没有"/",返回结果会随后台设置的主题变化lib标签∙功能:返回javascript库的url路径∙实例:{lib file=ecmall.js}这个标签在模板编译后将变成http://商城域名/includes/libraries/javascript,注意末尾没有"/",返回结果不会随后台设置的主题变化url标签∙功能:url解析器,可根据后台伪静态状态返回相应url等。
∙说明:如果一个链接的目标页面需要伪静态功能,请使用该url标签,只有当后台开启伪静态并在.htaccess文件为目标页面设置了伪静态规则时url标签才能解析为静态url地址。
∙实例:{url app=goods&id=$goods_id}解析后如果伪静态成功则返回"goods/19"include标签:include 标签用于在当前模板中包含其它模板。
当前模板中的变量在被包含的模板中可用。
必须指定file 属性,该属性指明模板资源的位置。
实例:1 {includefile="header.html"}2 {* body of template goes here *}3 {includefile="footer.html"}模板变量1. 模板保留变量模板预置的一些系统变量,包括∙$smarty.now 当前时刻对应的格林尼治时间戳,可以用{$sm arty.now|date}显示当前日期时间,关于date变量调节器请看下文讲解。
帝国ecms新手教程帝国cms模板常用技巧总结

对于使用帝国cms的一些新人来说,经常会做做模板的时候遇到一些小问题,大大降低了模板的制作速度!以下总结了一部分帝国cms中常用的一些技巧,应该可以帮助新手们摆脱这些困扰!1。
在页面调用评论框和评论需要在内容页显示评论框的,把评论模板里的评论框复制过来就行了调用最新评论(默认0条)<script type="text/javascript" src=/e/pl/more?classid=46&id=84&num=5></script>2,标题列表后加上评论地址的忟法用万能标签,评论地址为:/e/pl?id=84&classid=463,信息报错功能调用方法/e/DownSys/report?classid=46&id=844,免费版指替换内容中的某些值运行"update phome_ecms_news set newstext=REPLACE(newstext,'原内容','新内容'),titlepic=REPLACE(titlepic,'原内容','新内容')如果只替换内容中的,后面那句可以去掉5,清除采集时的空白数据系统设置==执行SQL语句delete from phome_ecms_news where newstext = '';6,清除相同标题的SQL语句参考这个帖子:/ShowThread/?threadid=10132&forumid=137,修改友情链接,不规则排列(文字)参考这个帖子:/ShowThread/?threadid=9250&forumid=138,emsinfo标签的多栏目调用如何用?[ecmsinfo]'15,18,22',2,0,0,2,13,1[/ecmsinfo]9,我想改一下分类的目录名称,怎么改?修改当前分类与子分类的目录(用phpmyadmin改)10,自定义页面无法显示?用相对路径../../info/aboutus.html11,ECMS一共有多少个表?免费版有57个左右12,同一内容,是不是不可以进行第二次采集?不是,管理节点-》清空13,采集的时候怎么过滤font之类的标签?<font[!--ad--]>替换</font>如果中间文字不要,直接<font[!--ad--]</font>14,评论调用方法?<script src=/e/pl/more?classid=46&id=84&num=10></script>如要改格式只能改e/pl/more/index.php文件了,直接用dreamweaver打开那个php文件15,关于帝国审核问题如果系统有多个编辑的话,建议把直接审核去掉直接审核的话就会生成文件。
7 ECmall模板说明

ECmall模板说明\themes\mall\resource\ 商城页面所在目录avatar.html 用户头像breadcrumbs.html 当前位置custom_module.html 首页自定义模块cycleimage.html Flash 轮播goods_category.html 首页的分类树goods_filter.html 商品筛选器模板goods_list.html 商品列表模板group_buy.html 首页及商品列表页面团购部分模板groupbuy_list.html 团购列表模板help_center.html 帮助文章页面latest_site_news.html 首页快讯模块latest_sold.html 首页最近成交latest_wanted.html 首页最近的求购mc_address.html 用户中心,地址页mc_credit.html 用户中心,信誉评价mc_favorite.html 用户中心,收藏夹mc_getpwd.html 用户中心,修改邮件地址mc_home.html 用户中心,欢迎页mc_login.html 登陆页面mc_menu.html 用户中心,左侧菜单mc_message.html 用户中心,我的留言mc_order_detail.html 用户中心,订单详情mc_order_view.html 用户中心,订单列表mc_post_wanted.html 用户中心,求购mc_profile.html 用户中心,个人资料mc_register.html 注册mc_repwd.html 用户中心,修改密码mc_storeapply.html 店铺申请页面mc_wanted_view.html 求购列表message.html 报错信息页面message_list.html 店铺中留言列表no_goods_module.html 首页及商品列表页面团购部分模板page_footer.html 商城页脚page_header.html 商城页首partner.html 友情链接recommended_brand.html 推荐品牌recommended_goods.html 推荐商品recommended_store.html 推荐店铺search_form.html 搜索栏shipping_payment_contents.html 支付配送页面shopping_cart_form.html 购物车shopping_order_pay.html 支付页面shopping_order_review.html 订单确认页面shopping_page_header.html 购物流程shopping_pay_form.html 支付完成site_news.html 快讯文章store_breadcrumbs.html 当前位置store_footer.html 店铺页脚store_header.html 店铺页首store_list.html 店铺列表store_search_form.html 店铺搜索wanted_detail.html 求购详情页面wanted_filter.html 求购搜索模块wanted_list.html 求购列表wanted_my_other.html 其他求购模块wanted_userinfo.html 求购中的用户头像-------------------------------------------------themes\store\resource\ 店铺页面所在目录act_detail.html 团购模块avatar.html 店主头像credit.html 店铺信用custom_module.html 自定义商品模块goods_bought_history.html 购买历史模块goods_category.html 分类模块goods_comment.html 商品留言模块goods_compatible.html 适配商品模块goods_detail.html 商品详细描述goods_info.html 商品信息goods_list.html 商品列表goods_similar.html 详细商品模块groupbuy_info.html 团购商品信息groupbuy_join.html 参加团购页面groupbuy_log.html 已参加团购的用户guestbook.html 店铺留言introduction.html 店铺简介notice.html 店铺通知partner.html 店铺友情链接store_article.html 团购活动模块store_category.html 店铺分类store_group_goods.html 店铺团购商品store_new_goods.html 新品模块store_recommended_goods.html 推荐商品store_title.html 店铺横幅tag_relative.html 标签模块userinfo.html 店主信息。
Ecmall系统自带的分页功能

Ecmall系统自带的分页功能2011-06-10/architecture/archt_EcmallPagination.php 在Ecmall的二次开发中,分页是必不可少的。
这个系统已经自带了分页功能,下面来看看如何使用这个分页。
下面是一个自定义的类,用于查看订单的详细情况。
关键在于get_order_data()这个方法,分页的使用也在这个方法的内部了。
应该有的注释都有了,应该会比较容易懂,我不就多说了。
<?phpdefine('NUM_PER_PAGE', 15); // 每页显示数量class NowaMagicApp extends MallbaseApp{public function index(){/* 分页信息*/$page = $this->_get_page(NUM_PER_PAGE);$page['item_count'] = $stats['total_count'];$this->_format_page($page);$this->assign('page_info', $page);$this->display('gorder.index.html');}/* 订单记录*/function orderslog(){$goods_id = empty($_GET['id']) ? 0 : intval($_GET['id']);if (!$goods_id){$this->show_warning('Hacking Attempt');return;}$data = $this -> get_order_data($goods_id);if ($data === false){return;}$this->assign('order', $data);$this->display('gorder.index.html');}function get_order_data($goods_id){//clean_cache();$cache_server =& cache_server();//print_r($cache_server);$key = 'order_' . $goods_id;//$key = $this->_get_cache_id();$r = $cache_server->get($key);$cached = true;$db = &db();$sql = "select count(*)from shop_order a, shop_order_extm b, shop_order_goods cwhere a.order_id = b.order_id and b.order_id = c.order_idand c.goods_id = '".$goods_id."'and a.status != '11'and a.status != '0'and a.status != '20'order by a.add_time desc ";//echo $sql;$num = $db -> getone($sql); //求出总记录数$page = $this->_get_page(NUM_PER_PAGE); //每页显示的条数,默认是10条$page['item_count'] = $num; // 返回一个数组$page,$page['limit']=0,10$this->_format_page($page); //格式化分页$sql2 = "select a.order_id, a.buyer_name, a.add_time, a.status, b.phone_tel, b.phone_mob, b.consignee, c.price, c.quantity, c.goods_idfrom shop_order a, shop_order_extm b, shop_order_goods cwhere a.order_id = b.order_id and b.order_id = c.order_idand c.goods_id = '".$goods_id."'and a.status != '11'and a.status != '0'and a.status != '20'order by a.add_time desc limit ".$page['limit'];$result = $db -> query($sql2);$this -> assign('page_info',$page); //向模板页传递页数$this -> assign('que',$sql2); //向模板页传递查询结果//$r = array();while($myrow = $db -> fetch_array($result)){$r[] = $myrow;}$cache_server->set($key, $r, 1);return $r;}}?>简化如下:Define("LIMIT",10);$goods_mod = & db('test');//构建实体模型(操作表)$count = 'select count(id) from test';$num = $goods_mod -> getone($count);//求出总记录数$page = $this->_get_page(LIMIT);//每页显示的条数,默认是10条$page['item_count'] = $num;// 返回一个数组$page,$page['limit']=0,10 $this->_format_page($page);//格式化分页$sql = 'select id,title,content from test order by id desc limit '.$page['limit']; $que = $goods_mod -> getAll($sql);//查询记录$this -> assign('page_info',$page); //向模板页传递页数$this -> assign('que',$que); //向模板页传递查询结果。
ecmall使用手册

将upload下的所有文件夹用FTP工具上传到您的网站空间,如果您需要整合UCenter,则需要将intergrate目录和uc_client目录上传到您网站空间根目录下,如果您需要安装初始化测试数据,则需要将initdata上传到网站空间根目录下。
修改权限
将上传的data目录和temp及external/widgets目录属性设为777,windows主机用户设为来宾帐户可读可写可修改即可。
上传之后,广告图片就会显示在这里了。公告栏里面的公告是在后台添加的,由于我们在这里添加了测试数据,因此会有公告显示,不装测试数据的话是没有的。公告文章的添加会在后面讲到。
接下来添加品牌挂件,点击挂件列表中的品牌区,会出现品牌挂件,放在了默认挂件位置,这里同样是由于安装了测试数据因此有品牌数据,如果没有安装的话品牌列表是空的。
商品分类
商品分类可以实现对商品的分类管理,商品分类如图:
通过商城后台→商品→分类管理可以对商品进行分类管理,同店铺分类一样,商品分类也是管理,新增,导出,导入四个部分,操作与上面雷同,不再详述。
如果分类较多,也可以导入一个CSV文件来批量添加分类,商品分类的CSV文件可以到ECMall论坛上去下载,下载地址:
一级菜单和二级菜单的介绍如上图所示,本文以后对菜单的操作将直接用商城后台→一级菜单→二级菜单,这样的方式来介绍菜单操作。
在进入商城后台后,首先要对商城做一些必要设置来保证商城可以运作,首先就是要安装支付方式。
启用支付方式
启用支付方式是商城设置中最基本的一项工作,如果没有安装支付方式店铺就无法发布商品。启用支付方式很简单,我们通过商城后台→设置→支付方式,右边会出现支付方式列表,如图:
如何在WordPress上添加自定义功能

如何在WordPress上添加自定义功能WordPress是一款非常流行的内容管理系统(CMS),它可以用来快速创建和管理网站。
尽管WordPress已经提供了很多强大的功能和扩展插件,但有时候我们仍然需要自定义一些功能来满足特定的需求。
本文将探讨如何在WordPress上添加自定义功能。
1. 使用函数和钩子(Hooks)来添加功能在WordPress中,我们可以使用函数和钩子来添加自定义功能。
这样做是因为WordPress采用了基于钩子的架构,允许开发者在特定的时间和位置添加自定义代码。
首先,我们需要创建一个自定义功能的函数。
例如,如果我们想要在网站底部添加一个版权信息,我们可以创建一个名为“custom_footer”的函数:function custom_footer() {echo '版权所有 ©2021 MyWebsite.保留所有权利。
';}然后,我们需要使用钩子将这个函数添加到网站的底部。
在WordPress中,有很多可以使用的钩子,如wp_footer和wp_head。
在这种情况下,我们可以使用wp_footer钩子:add_action('wp_footer', 'custom_footer');只需简单地将add_action函数添加到主题的functions.php文件中,我们就可以在网站的底部看到自定义的版权信息。
2. 使用插件来添加功能除了使用函数和钩子,我们还可以使用插件来添加自定义功能。
事实上,WordPress社区中有成千上万的插件供我们使用,这些插件可以帮助我们轻松地添加各种功能和特性。
例如,如果我们想要添加一个社交媒体分享按钮,我们可以使用一个叫做"Simple Social Share"的插件。
我们只需在WordPress仪表板中搜索该插件,然后安装并激活它。
接下来,我们可以在插件的设置页面自定义按钮的样式和位置。
ECMall模板制作

ECMall2.x模板制作入门系列之1(认识ECMall模板)从ECMall2.0全新架构发布以来,随着版本的不断更新,ECMall已经逐渐走向一个稳定时期,是时候整理一些实用教程了。
下面给大家带来一个模板制作入门教程。
申明:本人第一次写教程。
可能只能说一些比较浅显的基础知识。
条理性可能不是很到位,说得不对的地方欢迎拍砖并指正,目的是希望通过这次教程能让新手们对模板有一个比较系统的认识。
一.ECMall的模板文件在网站中怎么分布的。
怎么找到一个页面所对应的模板theme/ 主题目录商城模板theme/mall/ 包含所有商城模板,里面的每个目录即为一套模板theme/mall/default/ 商城默认模板,里面的html文件是模板文件,.php主题信息配置theme/mall/default/styles/ 皮肤目录,里面每一个目录即为一套皮肤theme/mall/default/styles/default/ 默认皮肤目录,.php为皮肤配置信息,screenshot.jpg主题截图,preview.jpg为主题预览图店铺模板theme/store/ 包含所有店铺模板theme/store/default/ 默认店铺模板theme/store/default/styles/ 皮肤目录,里面每一个目录即为一套皮肤theme/store/default/styles/default/ 默认皮肤目录,.php为皮肤配置信息,screenshot.jpg主题截图,preview.jpg为主题预览图引用:与模板相关的几个概念1.主题严格意义上来讲,大家在论坛里常说的一套模板,在ECMall2中被定义为一个主题。
一个主题是一套模板和一套皮肤的组合,这可能跟其他某些开源产品有所区别。
一套模板可以对应多套皮肤从而形成多个主题。
比如默认模板+粉红皮肤= 默认粉红主题,默认模板+淡蓝皮肤=默认淡蓝主题,这样就能在网站后台(设置->主题设置)看到这两个主题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分类首页挂件实现
接上面的,上一节中,我们其实可以在管理员后台也看到我们新添加的那个可编辑页面,在用户中心也可以看到有。
因为没有语言项,在管理员后台里面看到的是一个没有名字的可编辑页面。
但在用户中心里面却可以正常显示。
今天我们将创建一个类似淘宝一样,点击中部导航后打开一个分类首页,里面的东西又是可以自定义的可以显示与首页不同的内容,并且样子跟首页差不多,可以使用首页的全部挂件,也可以自已弄成其它样子。
大体的工作计划。
一、创建后台的编辑链接,以便可视化编辑网页。
二、添加导入自定义CSS功能,以便与首页不同。
三、可视化编辑我们需要的页面。
四、在导航栏加上我们的刚做的页面。
具体开始:
因为很多是上一节的内容,不再具体讲已经讲过的内容。
Admin/app/template.app.php 309 行附近,function _get_editable_pages()里面再加上'adult'=>SITE_URL.'/index.php?act=adult'在languages\sc-utf-8\admin\ng.php 里面加上'adult'=>'成人',接着打开app\default.app.php 在里面加一个方法我这里取名为adult是因为我想弄一个成人频道,代码如下。
functionadult(){
$this->assign('icp_number',Conf::get('icp_number'));
/* 热门搜素*/
$this->assign('hot_keywords',$this->_get_hot_keywords());
$this->assign('page_title',Conf::get('site_title'));
$this->assign('page_description',Conf::get('site_description'));
$this->assign('page_keywords',Conf::get('site_keywords'));
$this->assign('thiscss',$this->_get_thiscss('adult'));
$this->display('adult.html');
}
其实大部分代码是复制了index方法,这里我们特别添加了一句$this->assign('thiscss',$this->_get_thiscss('adult'));这是我们为页面写为的调用特别CSS的语
句。
它调用_get_thiscss()代码如下
function_get_thiscss($cssname)
{
return
site_url() .'/themes/mall/default/styles/default/css/'.$cssname.'.css';
}
去/themes/mall/default下将index.html复制一份改名为adult.html,同时搜索里面的所有page=index改为page=adult 一共有八处。
好了,再修改一下模板文件,配合我们指定特别的CSS。
打开/themes/mall/default/header.html 在<link href="{res file=css/ecmall.css}"rel="stylesheet" type="text/css" />后面添加如下语句<link href="{$thiscss}"rel="stylesheet" type="text/css" />即可。
好,我们再新建一个CSS文件。
来到/themes/mall/default/styles/default/css/下将ecmall.css复制一份改名成adult.css然后你可以更改一些显示效果,这样其实页面是既载入了原来的效果,也载入了这个css文件定义的效果,如果新定义的效果覆盖了之前
的,就会按最后的效果显示。
附件里有我从朋友
拿下来的效果,好了,现在基本完工了,我们来可视化编辑我们的另一个页面。
你想弄成什么样就弄成什么样喽。
接下来我们要去添加一个导航。
添加一个自定义的导航网址处填写“网址”+index.php?act=adult即可。
如果在本地测试的朋友添加网址的时候可能有一点困难,因为当我们填写http://localhost/…这样的网址是它提示我们不是正确的网址。
那我们去admin/templages/navigation.form.html找到
link
:{
url
: true
},
和
link
: {
url
: '{$lang.link_limit}'
},
将其删除,这样不再提示本地地址非法了,链接里写“index.php?act=adult”即可,
把“中部”和“否”钩上。
好了,enjoy it 吧。