導航:首頁 > 編程語言 > php響應式模板

php響應式模板

發布時間:2023-02-03 11:33:13

⑴ 如何利用Thinkphp框架開發移動端介面詳解

方案一:給原生APP提供api介面

使用TP框架時 放在common文件夾下文件名就叫function.php


<?php
/**
*Createdbyzhangkx
*Email:[email protected]
*Date:2015/8/1
*Time:23:15
*/

/******api開發輔助函數*******/

/**
*@paramnull$msg返回正確的提示信息
*@paramflagsuccessCURD操作成功
*@paramarray$data具體返回信息
*Functiondescript:返回帶參數,標志信息,提示信息的json數組
*
*/
functionreturnApiSuccess($msg=null,$data=array()){
$result=array(
'flag'=>'Success',
'msg'=>$msg,
'data'=>$data
);
printjson_encode($result);
}

/**
*@paramnull$msg返回具體錯誤的提示信息
*@paramflagsuccessCURD操作失敗
*Functiondescript:返回標志信息『Error',和提示信息的json數組
*/
functionreturnApiError($msg=null){
$result=array(
'flag'=>'Error',
'msg'=>$msg,
);
printjson_encode($result);
}

/**
*@paramnull$msg返回具體錯誤的提示信息
*@paramflagsuccessCURD操作失敗
*Functiondescript:返回標志信息『Error',和提示信息,當前系統繁忙,請稍後重試;
*/
functionreturnApiErrorExample(){
$result=array(
'flag'=>'Error',
'msg'=>'當前系統繁忙,請稍後重試!',
);
printjson_encode($result);
}

/**
*@paramnull$data
*@returnarray|mixed|null
*Functiondescript:過濾post提交的參數;
*
*/

functioncheckDataPost($data=null){
if(!empty($data)){
$data=explode(',',$data);
foreach($dataas$k=>$v){
if((!isset($_POST[$k]))||(empty($_POST[$k]))){
if($_POST[$k]!==0&&$_POST[$k]!=='0'){
returnApiError($k.'值為空!');
}
}
}
unset($data);
$data=I('post.');
unset($data['_URL_'],$data['token']);
return$data;
}
}

/**
*@paramnull$data
*@returnarray|mixed|null
*Functiondescript:過濾get提交的參數;
*
*/
functioncheckDataGet($data=null){
if(!empty($data)){
$data=explode(',',$data);
foreach($dataas$k=>$v){
if((!isset($_GET[$k]))||(empty($_GET[$k]))){
if($_GET[$k]!==0&&$_GET[$k]!=='0'){
returnApiError($k.'值為空!');
}
}
}
unset($data);
$data=I('get.');
unset($data['_URL_'],$data['token']);
return$data;
}
}


查詢單個果品詳細信息
/**
*發布模塊
*
*獲取信息單個果品詳細信息
*
*/
(){
//檢查是否通過post方法得到數據
checkdataPost('id');
$where['id']=$_POST['id'];
$field[]='id,fruit_name,high_price,low_price,address,size,weight,fruit_pic,remark';
$releaseInfo=$this->release_obj->findRelease($where,$field);
$releaseInfo['remark']=mb_substr($releaseInfo['remark'],0,49,'utf-8').'...';
//多張圖地址按逗號截取字元串,截取後如果存在空數組則需要過濾掉
$releaseInfo['fruit_pic']=array_filter(explode(',',$releaseInfo['fruit_pic']));
$fruit_pic=$releaseInfo['fruit_pic'];unset($releaseInfo['fruit_pic']);
//為圖片添加存儲路徑
foreach($fruit_picas$k=>$v){
$releaseInfo['fruit_pic'][]='http://'.$_SERVER['HTTP_HOST'].'/Uploads/Release/'.$v;
}
if($releaseInfo){
returnApiSuccess('',$releaseInfo);
}else{
returnApiError('什麼也沒查到(+_+)!');
}
}


findRelease()方法的model
/**
*查詢一條數據
*/
publicfunctionfindRelease($where,$field){
if($where['status']==''||empty($where['status'])){
$where['status']=array('neq','9');
}
$result=$this->where($where)->field($field)->find();
return$result;
}


app端接收到的數據(解碼json之後)
{
"flag":"success",
"message":"",
"responseList":{
"id":"2",
"fruit_name":"蘋果",
"high_price":"8.0",
"low_price":"5.0",
"address":"天津小白樓水果市場",
"size":"2.0",
"weight":"2.0",
"remark":"急需...",
"fruit_pic":[
"http://fruit.txunda.com/Uploads/Release/201508/55599e7514815.png",
"http://fruit.txunda.com/Uploads/Release/201508/554f2dc45b526.jpg"
]
}
}


app端接收到的數據(原生json串)
代碼如下:

{"flag":"success","message":"","responseList":{"id":"2","fruit_name":"u82f9u679c","high_price":"8.0","low_price":"5.0","address":"","size":"2.0","weight":"2.0","remark":"u6025u9700...","fruit_pic":["http://fruit.txunda.com/Uploads/Release/201508/55599e7514815.png","http://fruit.txunda.com/Uploads/Release/201508/554f2dc45b526.jpg"]}}

方案二:另外我們還可以通過ThinkPHP實現移動端訪問自動切換主題模板,這樣也可以做到移動端訪問

ThinkPHP的模板主題機制,如果只是在PC,只要需修改 DEFAULT_THEME (新版模板主題默認是空,表示不啟用模板主題功能)配置項就可以方便的實現多模板主題切換。

但對於移動端與PC端,也許你會設計完全不同的主題風格,且針對不同的來路提供不同的渲染方式,其中一種比較流行的方法是「響應式設計」,但就本人經歷而言,要實現完全的「響應式設計」並不是那麼容易,且解決兼容問題也是個難題,假設是大型站點,比如:淘寶、網路、拍拍這些,響應式設計肯定是滿足不了需求的,而是需要針對手機訪問用戶提供單獨的手機網站。

ThinkPHP 完全能夠實現,而且非常的簡單。與TPM的智能模版切換引擎相同,只要對來路進行判斷處理就行了。

一、將 ismobile() 加入到{項目/Common/common.php}

functionismobile(){
//如果有HTTP_X_WAP_PROFILE則一定是移動設備
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
returntrue;

//此條摘自TPM智能切換模板引擎,適合TPM開發
if(isset($_SERVER['HTTP_CLIENT'])&&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
returntrue;
//如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息
if(isset($_SERVER['HTTP_VIA']))
//找不到為flase,否則為true
returnstristr($_SERVER['HTTP_VIA'],'wap')?true:false;
//判斷手機發送的客戶端標志,兼容性有待提高
if(isset($_SERVER['HTTP_USER_AGENT'])){
$clientkeywords=array(
'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'
);
//從HTTP_USER_AGENT中查找手機瀏覽器的關鍵字
if(preg_match("/(".implode('|',$clientkeywords).")/i",strtolower($_SERVER['HTTP_USER_AGENT']))){
returntrue;
}
}
//協議法,因為有可能不準確,放到最後判斷
if(isset($_SERVER['HTTP_ACCEPT'])){
//如果只支持wml並且不支持html那一定是移動設備
//如果支持wml和html但是wml在html之前則是移動設備
if((strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')!==false)&&(strpos($_SERVER['HTTP_ACCEPT'],'text/html')===false||(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')<strpos($_SERVER['HTTP_ACCEPT'],'text/html')))){
returntrue;
}
}
returnfalse;
}

二、在{項目/Lib/}創建一個 CommonAction.php,假設你的項目已公共控制器,則無需創建,直接加在裡面就行了。

{
Publicfunction_initialize(){
//移動設備瀏覽,則切換模板
if(ismobile()){
//設置默認默認主題為Mobile
C('DEFAULT_THEME','Mobile');
}
//............你的更多代碼.......
}
}

⑵ 把用PHP語言的網站改成響應式網站 需要做什麼很麻煩嗎

php不需要做什麼,php只負責數據,改的話就該前端,推薦使用bootstrap

⑶ phpcms 怎樣實現電腦,手機訪問自動調用不同模板而URL地址不變

樓主你好

不改變PC的布局到移動端是不可能的,把PC的界面放到移動端如果不變布局,顯示肯定得縮小,只會看不清,做自適應是不錯的選擇,可以實現同一個URL地址,在不同的設備上顯示不同的樣式,像這個網站(www.zacseo.cn)一樣,在PC端顯示和移動端都是同一個URL,但界面展示的信息會有所不同,你看下就知道了。

另外,還有一個辦法就是在content模塊中加入判斷,位置是 phpcms\moles\content 下的index.php文件,可以動手寫一個函數,在 include template('content','index',$default_style); 的地方判斷不同的設備調用不同的模板。

希望可以幫到你。 林羽凡

⑷ thinkphp切換PC端和手機端模板的問題

電腦端和手機端頁面不一樣,可能情況響應式布局,通過不同的解析度顯示不同的css樣式就是兩套模板,只是根據pc端和手機端的訪問模式進行判斷,然後選擇是用哪個模板。如果想pc端和手機端樣式相同的話,那就是css樣式寫一套,不要響應式布局。而你說的背景缺失的話還是跟css的代碼優化有關。

⑸ 響應式前端框架有哪些

  1. Twitter BootStrap (Apache v2.0;響應式)
    時髦、直觀並且強大的前端框架,讓Web開發變得更加容易。
    2. Foundation (MIT;響應式)
    最先進的響應式前端框架。
    3. 960gs(GPL&MIT;響應式)
    960gs提供了一個簡單的網格系統,適合快速開發。
    4. Skeleton(MIT;響應式)
    非常漂亮的Web模板,適合響應式、移動友好的開發。
    5. 99lime HTML KickStart(Free)
    適合網站快速開發的極簡HTML構建模塊。
    6. Kube(Free;響應式)
    面向專業人員的CSS框架。
    7. Less Framework(MIT;響應式)
    自適應的CSS網格系統。
    8. Flameinwork(Free)
    適合懶人開發者的前端微框架。
    9. G5 Framework(Free)
    (x)HTML5、CSS、PHP前端開發框架。
    10. Easy Framework(Free)
    Easy Framework是一個一體化前端解決方案,分structural、 presentational、interactive三層。
    11. Blueprint(Free)
    一個旨在減少開發時間的前端框架。
    12. YAML(Creative Commons)
    (x)HTML+CSS框架,適合開發現代化浮動布局。
    13. BlueTrip(Free)
    一個功能全面、並且美麗的CSS框架,適合於Blueprint搭配使用。
    14. YUI3:Grids CSS(BSD)
    YUI Grids CSS是最著名的CSS框架之一,是由Yahoo開發小組開發而成。 YUI Grids CSS為開發者提供了預先設置的四種不同頁面寬度,六種不同的模板。
    15. 52framework(Creative Commons)
    對HTML5支持非常好,簡單易用。
    16. elastiCSS(MIT)
    一個基於Web介面和印刷布局的簡單CSS框架。
    17. Emastic(Free)
    一個與眾不同的CSS框架。
    18. Fluid 960 Gride System(GPL/MIT)
    Fluid 960 Grid System的模版是根據Nathan Smith之前的作品而創建的。即960 Grid System:傳承了MooTools和jQuery JavaScript libraries的效果。
    19. xCSS(MIT)
    一個面向對象的CSS框架,能讓你的工作流更加簡潔。xCSS基於CSS,可以在開發復雜樣式時,提供面向對象的工作流。
    20. EM CSS Framework(MIT/GPL)
    EM CSS Framework提供了一個960px寬 + 12 列網格系統 + CSS的通用樣式。

    21.Ant Design

    22.Element UI

⑹ 想建一個心願牆網站,瀑布流,php

html5響應式瀑布流網站與php無關,不知道是否有這樣的建站工具,不支持html5響應式瀑布流也無所謂,數據出來,自己將html5響應式瀑布流的css及js加上就行了。
【軟體668】-專注軟體定製服務。

⑺ phpcms怎麼生成靜態網站

如果是合格的phpcms模板本身就是帶標題的。 你打開pc原模板的header.html,把title的代碼復制到你的模板就行了。
運行CMD後使用dir命令,加一個/b,會生成一個簡單的文件名列表,不包括其它信息,這種方法可以用來提取文件夾和文件名列表。比如要提取D盤下ABC文件夾里的文件名列表:dir d:\abc /s /b >d:filelist.txt這樣就會在D盤生成一個filelist.txt的文本...
先在擴展裡面設置URL規則, 然後在欄目設置裡面設置 這些都可以根據需求設置
首頁第一步你要編輯自己的靜態規則,如果對系統自帶的滿意的話可以忽略。 即找到擴展——>URL規則管理,再修改相應的生成靜態規則的規則,如果不想在原有的基礎上修改,可以自己添加,這個很簡單,生成什麼樣的目錄你自己說了算,看示例就會 了。 ...
你好! 手機門戶沒有生成靜態頁面一說的,應該是php寫的動態頁面。 現在都是html5的時代了,建議開發html5響應式網站,兼顧PC、平板、移動顯示效果。 希望我的回答能夠幫到你,望採納
我來回答吧:) 1. 進入後台-->網站頻道 2.到這個時候,你網站的所有頻道都會在"右窗口"顯示出來. 3.找到你需要修改的頻道,點擊其右側管理操作的"修改"鏈接... 4.轉入的這個頁面就是此頻道的詳細信息,分別有"基本信息"."許可權設置"."上傳選項"."生成...
你好! 生成了很多多餘的目錄可能跟你的內容頁URL規則設置有關系。如圖: 個人覺得phpcms生成靜態文件是多餘的,完全可以用偽靜態來實現。易於維護和管理,實現也較容易。 希望我的答案對你有所幫助,記得採納哦~
更新URL更新緩存這是phpcms使用問題的萬能葯膏,我問了很多不同的問題,都是這樣的回答,並且都不能解決問題
後台-內容-內容管理-欄目管理-選擇某個欄目-修改-生產html選項 勾完以後更新一下欄目緩存
兩個都可以訪問的,生成靜態後,訪問的靜態地址頁面,伺服器就不會去執行資料庫; 比如,你有10篇文章,動態的話,你每訪問一篇文章都要在資料庫里去找出這張篇文章,而靜態的話,10篇文章就是10個靜態頁面,不用查找資料庫,直接顯示的。 這樣...如果還有不明白的話,你也可以去後盾人平台看看php基礎教學視頻看看,也是不錯的選擇,希望能幫到你,給個採納吧謝謝(^_^)

⑻ php個人博客響應式源碼

不太清楚呢!我弟好像也在學這個!不過是在後盾ren自學的呢!學的挺好的!你也可以去看看!

⑼ 講真,二當家的官網上下載的php整站源碼可以直接修改一下上線用不比如一些圖片什麼的怎麼修改呢

是可以呢,我用的就是,二當家的提供的網站模板、JS特效、PHP源碼還是相當不錯的,比較適合初學者和計算機畢業設計呢。

⑽ php的cms系統哪個好

1.cms系統

1)知名cms
dedecms:
優點:免費開源、簡單易上手、前後台分離、前台模版標簽、可安裝主題插件、模版素材多。
缺點:功能集成擴展性不好不夠靈活、漏洞多不夠安全、對PHP版本兼容性不夠好、速度偏慢。

phpcms:
優點:免費開源、簡單易上手、前後台分離、前台模版標簽、可安裝主題插件、模版素材多。
缺點:安全性比dedecms好、擴展性也不好、不易二次開發、速度略好於dedecms。

帝國cms(EmpireCMS):
優點:免費開源、簡單易上手、前後台分離、前台模版標簽、可安裝主題插件、模版素材多。
缺點:安全性還行、擴展性比前兩款好、方便二次開發、速度比前者快。

Pageadmin:
優點:免費開源、簡單易上手、前後台分離、前台模版標簽、可安裝主題插件、模版素材多。
缺點:安全性比較好、擴展性次於帝國cms、速度也是比較慢。

2)小型cms網站系統
模版標簽、前後台分離、響應式後台、簡介、小程序app服務介面、多套模板素材
易優youCMS:
模版標簽、前後台分離、簡單上手、多套模板素材。
易思CMS:
模版標簽、前後台分離、簡單上手、多套模板素材。
織夢 cms系統

閱讀全文

與php響應式模板相關的資料

熱點內容
怎樣創建job文件夾 瀏覽:831
介紹單片機外設的書籍推薦 瀏覽:56
通達信雙柱擒牛指標源碼 瀏覽:467
內存太大解壓失敗怎麼辦 瀏覽:441
linuxmakefile解析 瀏覽:777
單片機原理與應用李林功 瀏覽:39
pythonorm框架有哪些 瀏覽:431
indesign轉pdf 瀏覽:483
javaweb找源碼 瀏覽:26
浪潮物理伺服器如何重啟 瀏覽:602
aes加密性能下降 瀏覽:449
linux驅動結構 瀏覽:868
psv安裝壓縮包 瀏覽:613
錦州聯通DNS伺服器地址 瀏覽:115
伺服器佔用太多的網路怎麼辦 瀏覽:936
設置ftp共享文件夾win10 瀏覽:793
伺服器和主機是什麼意思 瀏覽:638
自製透明收納文件夾 瀏覽:164
testflight怎麼下載安卓軟體 瀏覽:180
androidstudio替換字元 瀏覽:824