phpcms v9模板製作教程

来源:http://www.cnblogs.com/zzzy0828/archive/2017/12/21/8082702.html
-Advertisement-
Play Games

phpcms v9模板製作教程(轉載) 第一節1、首先下載phpcms v9的集成安裝包並安裝,這裡就不詳細說明瞭。2、本地調試建議大家使用APMserver,或者wampserver等,可以到PHPCMS吧官方網站首頁鏈接下載。安裝好打開v9的根目錄“phproot→phpcms→template ...


phpcms v9模板製作教程(轉載)

第一節

1、首先下載phpcms v9的集成安裝包並安裝,這裡就不詳細說明瞭。

2、本地調試建議大家使用APMserver,或者wampserver等,可以到PHPCMS吧官方網站首頁鏈接下載。安裝好打開v9的根目錄“phproot→phpcms→templates”文件夾把“default”文件夾複製一份起名“redu”。

3、登陸v9後臺登錄地址:http://localhost/admin.php
用戶名:phpcms 密碼:phpcms

4、打開界面→模板風格→風格標識redu下的詳細列表下的content文件夾

1、首先修改首頁模板index.html
修改前向大家介紹下v9的工作模式,v9和他的前身phpcms 2008是一樣的都是“標簽調用頭部 +首頁部分+ 標簽調用底部”
所以按照從頭開始的順序
第一步打開heard.html
現在我們開始分析header.html的構造:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
上面是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>
判斷語句 翻譯:如果設置了標題並且標題不為空,則顯示標題,否則顯示網站名稱

<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" />
上面2行是外部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>


下麵是搜索部分

<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

如何利用v9仿製一個網站
一、準備工具1、
css手冊
2、phpcms手冊
3、dw cs5 沒有的可以用記事本
4、ps
5、屏幕尺子
6、好色鬼
7、網站下載器
8、各種瀏覽器 ie6 ie7 ie8 ie9 火狐 谷歌 Opera Safari 用ie 和火狐基本就夠了
9、有條件的可以準備個php手冊和html手冊
10、亦歌(這個挺好用的聽歌軟體,我每次寫代碼都會打開他聽歌)
11、測試環境沒有下個phpcm v9的集成包
12、還沒想到······想到了在寫(呵呵,為了多寫點·····哈)
二、準備素材
1、用網站下載器下載準備仿的網站文件
2、按照目標網站製作相應尺寸的圖片(如logo)有些需要改,有些不需要改(這裡也是為了多寫點···)

3、還沒想到還需要準備什麼······想到了在寫(呵呵,還是為了多寫點·····哈)
三、開始仿站
1、先打開亦歌聽音樂吧
2、打開需要仿的站,查看頁面源代碼!(在網頁空白區右建就能看到)
3、先找到網頁的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代碼,這裡千萬別改!改了後臺就跑偏了
4、編輯頭部文件用dwcs 5或記事本打開v9模版目錄下header.html文件。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 用類來實現時間輸入輸出 實參聲明 標準類的方法 ...
  • Collection [I] Collection 層次結構 中的根介面。Collection 表示一組對象,這些對象也稱為 collection 的元素。一些 collection 允許有重覆的元素,而另一些則不允許。一些 collection 是有序的,而另一些則是無序的。JDK 不提供此介面的 ...
  • 在異常界面點SpringObjectFactory.java查看源碼,在 上設置斷電,進行Debug,發現appContext的值為null。這是因為,我們在Spring中配置了Struts2,在項目啟動後Struts自動去Spring容器中拿對象,而此時Spring並沒有啟動,所以要讓Spring ...
  • 本篇文章基於"Java開發小技巧(二):自定義Maven依賴"中創建的父工程``project-monitor``實現,運用我們自定義的依賴包進行多工程依賴項目的開發。 ...
  • 判斷用戶輸入的是否至少含有N位小數。 1.當用戶輸入的是非數字時拋出異常,返回false。 2.當用戶輸入數字是,判斷其數字是否至少含有N位小數,如果不含有,返回false。 3.當用戶輸入的數字的小數位數大於等於N時,返回true。 原文鏈接:http://www.cnblogs.com/lieb ...
  • 1.2、火狐的profile文件記錄信息實現 1.4、萬能驗證碼、去掉驗證碼 萬能驗證碼、去掉驗證碼需要開發的配合 2、等待 2.1、time模塊 2.2、隱式等待 2.3、顯式等待 3、unittest單元測試框架 簡單的unittest框架代碼如下: 可生成html報告的unittest框架代碼 ...
  • 轉自:http://blog.chinaunix.net/uid-21411227-id-1826942.html 1. this指針的用處: 一個對象的this指針並不是對象本身的一部分,不會影響sizeof(對象)的結果。this作用域是在類內部,當在類的非靜態成員函數中訪問類的非靜態成員的時候 ...
  • 要定時或者周期性的執行任務,可以使用linux的crontab。Celery也提供了類似的Periodic Tasks功能。 Celery beat Celery使用celery beat作為任務調度器,周期性的啟動任務。 需要執行的任務預設是在beat_schedule配置選項中設置的。使用dja ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...