phpcms v9模板制作教程(转载)

第一节

SolrCloud中索引数据存储于HDFS

  自己近来应用SolrCloud存款和储蓄索引日志条件,便于火速索引,因为自身的目录条件较多,每日日志记录较大,索引想到将日志存入到HDFS中,上边就说说怎么讲solr的目录条件数据存款和储蓄到HDFS中。

壹、首先下载phpcms v玖的合并安装包并安装,这里就不详细表达了。

1、准备干活

  • Solr环境或SolrCloud集群,借使不会安装能够看一下Solr五.伍.四单机计划或者SolrCloud集群陈设
  • HDFS分布式系统环境,要是不会安装的能够看一下Hadoop2.5.0设置配备
  • 作者就以Solr5.5.4+汤姆cat八.伍.6单机安顿为根基,下边是本身单机Solr信息
名称 配置
Solr+Tomcat位置 /home/anu/page/tomcat8
Solr_home位置 /home/anu/page/tomcat8/solr_home
HDFS入口地址 hdfs://192.168.219.13:9000

二、本地调节和测试建议大家利用APMserver,只怕wampserver等,能够到PHPCMS吧官方网址首页链接下载。安装好打开v9的根目录“phproot→phpcms→templates”文件夹把“default”文件夹复制一份起名“redu”。

 

3、登陆v九后台登录地址:http://localhost/admin.php
用户名:phpcms 密码:phpcms

2、配置索引数据存款和储蓄到HDFS中

4、打开界面→模板风格→风格标识redu下的详尽列表下的content文件夹

 一、运营HDFS系统,并创设存款和储蓄Solr数据路径

  一)首先运维HDFS系统,本人使用的是一拖2的HDFS集群,所以都要起起来

  进入namenode节点机器进入./hadoop/sbin
下,使用命令  ./start-all.sh
运转叁台机器上的Hadoop,确认保障namenode和dataNode都起成功。

  图片 1

  别的两台机器上执行命令:
jps能够查看到NodeManager和DataNode五个线程,假设存在表达大家的HDFS运营成功

   图片 2

  二)使用命令: hadoop fs -ls /
查看HDFS根目录下的文件,若是您的根路径下有文件就足以见见文件啦!

  图片 3

  三)使用命令: hadoop fs -mkdir -p
/demo/data
在HDFS根路径下创造demo供Solr数据存储文件

  图片 4

 

1、首先修改首页模板index.html
修改前向大家介绍下v九的工作方式,v九和她的前身phpcms
二零零六是同样的都以“标签调用底部 +首页部分+ 标签调用尾巴部分”
为此依照从头开端的次第
第壹步打开heard.html
今昔大家开头分析header.html的构造:

 2、修改Solr_home上边文件配置

   1)进入solr_home目录下,使用命令:
mkdir demo
 创立demo目录,同时将./tomcat8/solr_home/configsets/basic_configs下的享有文件都拷贝到刚刚新建的demo下边

  图片 5

  贰)文件拷贝后,进入./tomcat8/solr_home/demo/conf/
目录下,修改solrconfig.xml文件

  替换原有directoryFactory配置为如下

<directoryFactory name="DirectoryFactory" class="solr.HdfsDirectoryFactory">
   <str name="solr.hdfs.home">hdfs://192.168.219.13:9000/demo</str>
   <bool name="solr.hdfs.blockcache.enabled">true</bool>
   <int name="solr.hdfs.blockcache.slab.count">1</int>
   <bool name="solr.hdfs.blockcache.direct.memory.allocation">true</bool>
   <int name="solr.hdfs.blockcache.blocksperbank">16384</int>
   <bool name="solr.hdfs.blockcache.read.enabled">true</bool>
   <bool name="solr.hdfs.blockcache.write.enabled">true</bool>
   <bool name="solr.hdfs.nrtcachingdirectory.enable">true</bool>
   <int name="solr.hdfs.nrtcachingdirectory.maxmergesizemb">16</int>
   <int name="solr.hdfs.nrtcachingdirectory.maxcachedmb">192</int>
</directoryFactory>

  替换原有lockType为如下:

<lockType>${solr.lock.type:hdfs}</lockType>

  替换原来dataDir为如下:

<dataDir>${solr.data.dir:hdfs://192.168.219.13:9000/demo/data}</dataDir>

  注意:下面装有
 hdfs://19二.168.21玖.一3:柒仟 都要换到自身的HDFS入口地址,

 hdfs://192.168.219.13:9000/demo/data  正是我们前面创建的存储solr数据的路径

    图片 6

  图片 7

  图片 8

 

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<html xmlns=”http://www.w3.org/1999/xhtml"&gt;
上边是W3C网页标准
<head>
<meta http-equiv=”Content-Type” content=”text/html;
charset={CHARSET}” />{CHARSET}” =字符集 (gbk或者utf-8)
<meta http-equiv=”X-UA-Compatible” content=”IE=7″ />
<title>{if isset($SEO[‘title’]) &&
!empty($SEO[‘title’])}{$SEO[‘title’]}{/if}{$SEO[‘site_title’]}</title>
判定语句
翻译:如若设置了标题并且标题不为空,则显得标题,不然显示网址名称

 三、替换Solr中的HDFS使用有关jar包

  1)删除solr本身本来的jar包,进入tomcat8/webapps/solr/WEB-INF/lib
下删除hadoop-*.jar、protobuf-java-*.jar、htrace-core-3.0.4.jar 

rm hadoop-*.jar
rm protobuf-java-*.jar
rm -rf htrace-core-3.0.4.jar

  图片 9

  二)从Hadoop-贰.五.0的share文件夹下分别获得相应的jar到tomcat8/webapps/solr/WEB-INF/lib
目录下,首要jar包如下:

hadoop-common-2.5.0-cdh5.2.0.jar(share/hadoop/common)
hadoop-hdfs-2.5.0-cdh5.2.0.jar(share/hadoop/hdfs)
hadoop-auth-2.6.0.jar(share/hadoop/common/lib)
hadoop-annotations-2.6.0.jar(share\hadoop\common\lib)
commons-collections-3.2.2.jar(share\hadoop\common\lib)
protobuf-java-2.5.0.jar(share\hadoop\common\lib)

   图片 10

 

<meta name=”keywords” content=”{$SEO[‘keyword’]}”>
<meta name=”description” content=”{$SEO[‘description’]}”>
<link href=”{CSS_PATH}reset.css” rel=”stylesheet” type=”text/css”
/>
<link href=”{CSS_PATH}default_blue.css” rel=”stylesheet”
type=”text/css” />
地方二行是外部css的调用{CSS_PATH}
<script type=”text/javascript”
src=”{JS_PATH}jquery.min.js”></script>
<script type=”text/javascript”
src=”{JS_PATH}jquery.sGallery.js”></script>
<script type=”text/javascript”
src=”{JS_PATH}search_common.js”></script>
地点3行是网页的js调用
</head>
<body>
<div class=”body-top”>
<div class=”content”>
{pc:content action=”position” posid=”9″ order=”id” num=”10″
cache=”3600″}
<div id=”announ”>
<ul>
{loop $data $k $v}
<li><a
href=”{$v[url]}”>{$v[title]}</a></li>
{/loop}
</ul>
</div>
{/pc}
<script type=”text/javascript”>
$(function(){
startmarquee(‘announ’,22,1,500,3000);
})
</script>
<div class=”login lh24 blue”><a
href=”{APP_PATH}index.php?m=content&c=rss&siteid={get_siteid()}”
class=”rss ib”>rss</a><span class=”rt”><script
type=”text/javascript”>document.write(‘<iframe
src=”{APP_PATH}index.php?m=member&c=index&a=mini&forward=’+encodeURIComponent(location.href)+’&siteid={get_siteid()}”
allowTransparency=”true” width=”300″ height=”24″ frameborder=”0″
scrolling=”no”></iframe>’)</script></span></div>
</div>
</div>
<div class=”header”>
<div class=”logo”><a href=”/”><img
src=”{IMG_PATH}v9/logo.jpg” /></a></div>

 四、创造core或collection(单机中开创core,集群中成立collection)

   1)运转Solr,在浏览器中走访http://192.168.219.12:8080/solr/index.html 
Solr管理页面

 图片 11

    二)新建二个core或collection,起名称为我们创立的目录名字demo

  图片 12

    三)最终看看那么些职位data是指向HDFS的门道地址

   图片 13

 

 到此就马到成功啦!

 

注意:在此进程中恐怕会并发谬误,大家能够自个儿到solr日志下边看一下实际是怎么着错误,具体难点具体化解。上边说一下自家在装的时候遇到的难点。

(一)本身是首先次配置这些东东,第3回就出现了不当,通过日记看到有java.lang.OutOfMemoryError:
Direct buffer memory tomcat错误。

缓解方案:那么些由于内部存款和储蓄器不足造成的,因为自己是在自家的虚拟机抓实验的,虚拟机装的事物有点多,所以报内部存款和储蓄器溢出,后来闭馆多少个程序,再调整一下tomcat的内部存款和储蓄器就周全化解啦。

 

安插完后可以看一下Solr下边的HDFS数据备份和恢复,前边恐怕有用。

 

上面是寻找部分

<div class=”search”>
<div class=”tab” id=”search”>
{php $j=0}
{php $search_model = getcache(‘search_model_’.$siteid, ‘search’);}
{loop $search_model $k=>$v}
{php $j++;}
<a href=”javascript:;” style=”outline:medium none;” hidefocus=”true”
{if $j==1 && $typeid=$v[‘typeid’]} class=”on”
{/if}>{$v[‘name’]}</a>{if $j !=
count($search_model)}<span> | </span>{/if}
{/loop}
{php unset($j);}
</div> <div class=”bd”>
<form action=”{APP_PATH}index.php” method=”get”
target=”_blank”>
<input type=”hidden” name=”m” value=”search”/>
<input type=”hidden” name=”c” value=”index”/>
<input type=”hidden” name=”a” value=”init”/>
<input type=”hidden” name=”typeid” value=”{$typeid}”
id=”typeid”/>
<input type=”hidden” name=”siteid” value=”{$siteid}”
id=”siteid”/>
<input type=”text” class=”text” name=”q” id=”q”/><input
type=”submit” value=”搜 索” class=”button” />
</form>
</div>
</div>

检索部分完工
<div class=”banner”><script language=”javascript”
src=”{APP_PATH}index.php?m=poster&c=index&a=show_poster&id=1″></script></div>
<div class=”bk3″></div>
<div class=”nav-bar”>
<map>
{pc:content action=”category” catid=”0″ num=”25″ siteid=”$siteid”
order=”listorder ASC”}
<ul class=”nav-site”>
<li><a
href=”{siteurl($siteid)}”><span>首页</span></a></li>
{loop $data $r}
<li class=”line”>|</li>
<li><a
href=”{$r[url]}”><span>{$r[catname]}</span></a></li>
{/loop}
</ul>
{/pc}
</map>
</div>
{if $top_parentid}
<div class=”subnav”>
{pc:content action=”category” catid=”$top_parentid” num=”15″
siteid=”$siteid” order=”listorder ASC”}
{loop $data $r}
<a href=”{$r[url]}”>{$r[catname]}</a><span> |
</span>
{/loop}
{/pc}
{if $modelid}<a
href=”{APP_PATH}index.php?m=content&c=search&catid={$catid}”>搜索</a>{/if}
</div>
{/if}
</div>

提出下载个opera浏览器 他的检讨页面成分作用超赞!

{template “content”,”header”}

调用根目录下phpcms/template/content/header文件
<!–main–>这么些是模版注释!建议一定要养成写代码加注释的习惯

其一是div标签,不通晓怎么是div能够的去网上找些教程学习下,这些都不明白就没须要继续看了

<!–这里是pc标签{pc:content 参数名=”参数值” 参数名=”参数值”
参数名=”参数值”}–>
{pc:content action=”position” posid=”2″ order=”listorder DESC”
num=”4″}

<!–显示PC标签中的数据–>

{loop $data $r}

{str_cut($r[title],36)}

{if $n==1}{/if}{str_cut($r[description],112)}

{/loop}
{/pc}

<!–停止标签–>

 

<!–那里照旧pc标签–>
{pc:content action=”position” posid=”1″ order=”listorder DESC” thumb=”1″
num=”5″}

{loop $data $r}

{/loop}

{/pc}

 

推广

{pc:block pos=”index_block_1″}

{/pc}

 

图形音讯
{pc:content action=”position” posid=”12″ thumb=”1″ order=”id DESC”
num=”10″}

{loop $data $r}

{str_cut($r[title],20)}

{/loop}

{/pc}

 

{loop subcat(0,0,0,$siteid) $r}
{php $num++}

 

{$r[catname]}更多>>

{pc:content action=”lists” catid=”$r[catid]” num=”1″ thumb=”1″
order=”id DESC” return=”info”}
{loop $info $v}

 

{str_cut($v[‘title’],28)}
{str_cut($v[‘description’],100)}

{/loop}
{/pc}

{pc:content action=”lists” catid=”$r[catid]” num=”5″ order=”id DESC”
return=”info”}

 

{loop $info $v}

·{str_cut($v[‘title’],40)}
{/loop}

{/pc}

{if $num%2==0}
{/if}
{/loop}

 

公告

{pc:announce action=”lists” siteid=”$siteid” num=”2″}

{loop $data $r}

{$r[‘title’]}
{/loop}

{/pc}

 

 

专题越多>>

{pc:special action=”lists” siteid=”$siteid” elite=”1″ listorder=”3″
num=”2″}
{loop $data $r}
{if $n!=1}
{/if}

 

{str_cut($r[title],’18’)}
{str_cut($r[‘description’],50)}

{/loop}
{/pc}

 

 

热门 | 评论 | 关心排名

 

{pc:content action=”hits” catid=”35″ num=”10″ order=”views DESC”}
{loop $data $r}

{$r[title]}
{/loop}
{/pc}

 

{pc:comment action=”bang” num=”10″ cache=”3600″}
{loop $data $r}

{$r[title]}
{/loop}
{/pc}

 

{pc:content action=”hits” catid=”35″ num=”10″ order=”views DESC”}
{loop $data $r}

{$r[title]}
{/loop}
{/pc}

 

 

 

考查问卷更加多>>

 

 

 

越来越多>>友情链接申请链接

 

{pc:link action=”type_list” siteid=”$siteid” linktype=”1″
order=”listorder DESC” num=”8″ return=”pic_link”}
{loop $pic_link $v}

{/loop}
{/pc}

{pc:link action=”type_list” siteid=”$siteid” order=”listorder DESC”
num=”10″ return=”dat”}

 

{loop $dat $v}
{if $type==0}
{$v[name]} |
{else}

{/if}
{/loop}

{/pc}

 

$(function(){
new slide(“#main-slide”,”cur”,310,260,1);//焦点图
new SwapTab(“.SwapTab”,”span”,”.tab-content”,”ul”,”fb”);//排行TAB
})

{template “content”,”footer”}

养成书写规范的DIV标签

查找引擎优化(seo)中,对代码的优化也是多少个很重大的手续。为了进一步切合SEO的正规化,上面是现阶段流行的CSS+DIV的命名规则:
DIV ID命名
页头:header
登录条:loginBar
标志:logo
侧栏:sideBar
广告:banner
导航:nav
子导航:subNav
菜单:menu
子菜单:subMenu
搜索:search
滚动:scroll
页面主体:main
内容:content
标签页:tab
小说列表:list
提醒消息:msg
小技巧:tips
栏目标题:title
友情链接:friendLink
页脚:footer
加入:joinus
指南:guild
服务:service
热点:hot
新闻:news
下载:download
注册:regsiter
状态:status
按钮:btn
投票:vote
协作伙伴:partner
版权:copyRight
CSS ID的命名
外套:wrap
主导航:mainNav(globalNav)
子导航:subNav
页脚:footer
凡事页面:content
页眉:header
页脚:footer
商标:label
标题:title

顶导航:topNav
边导航:sideBar
左导航:leftsideBar
右导航:rightsideBar
标识:logo
标语:banner
菜单1内容:menu1Content
菜单1容量:menu1Container
子菜单:submenu
边导航空图标:sidebarIcon
注释:note
面包屑:breadCrumb(即页面所处地点导航提醒)
容器:container
内容:content
搜索:search
登陆:login
效用区:shop(如购物车,收银台)
当前的current
体制文件命名
全站标签暗中认可样式:general.css或global.css
布局版式设计样式:layout.css或container.css
通用样式(如文字、表单等):style.css
专辑/频道样式:columns.css
打字与印刷输出样式:print.css
核心模板样式:themes.css

何以利用v九仿制二个网址
一、准备工具一、
css手册
2、phpcms手册
三、dw cs五 没有的能够用记事本
4、ps
5、显示器尺子
6、好色鬼
柒、网址下载器
8、各样浏览器 ie陆 ie柒 ie八 ie九 火狐 谷歌 Opera Safari 用ie
和火狐基本就够了
9、有标准的能够准备个php手册和html手册
10、亦歌(那么些挺好用的听歌软件,小编老是写代码都会打开她听歌)
1一、测试环境未有下个phpcm v九的集成包
12、还没想到······想到了在写(呵呵,为了多写点·····哈)
二、准备材质
一、用网址下载器下载准备仿的网址文件
2、依照目的网址制作相应尺寸的图样(如logo)有个别供给改,有些不要求改(那里也是为着多写点···)

三、还没悟出还亟需预加防患什么······想到了在写(呵呵,依然为了多写点·····哈)
三、起始仿站
一、先打开亦歌听音乐吧
二、打开必要仿的站,查看页面源代码!(在网页空白区右建就能看到)
三、先找到网页的css文件(下载下来放到根目录\statics\css下化名reset.css)为何这么做<link
href=”{CSS_PATH}reset.css” rel=”stylesheet” type=”text/css” />
{CSS_PATH}reset.css等于根目录\statics\css下reset.css文件(固然用网址下载器下载了那么在下载文件里找到css文件复制过去会更有益于)
注:statics目录下的文本部分是属于后台模版的,所以提出新建个目录放入你协调写好的css、js大概图片文件{CSS_PATH}reset.css是后台的css代码,那里千万别改!改了后台就跑偏了
四、编辑尾部文件用dwcs 伍或记事本打开v九模版目录下header.html文件。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图