日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php对话框制作,织梦系统“提示窗口对话框类”详解,oxwindow.class.php、catalog_do.php...

發布時間:2023/12/10 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php对话框制作,织梦系统“提示窗口对话框类”详解,oxwindow.class.php、catalog_do.php... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果對織夢系統做過二次開發或學深入研究過的話,一定會知道在我們做織夢二次開發時,一般會把php文件以及對應的模板文件起的名字,除了擴展名外,其它都一樣,這是織夢文件起名的一個特點。例如,index_body.php文件,一般對應的模板文件是index_body.htm,文件album_add.php對應的模板文件是album_add.htm等等,一般都是這樣的,織夢里面很少是不對應的,這是織夢一個特點,也是我們在學習織夢系統時,查找模板文件的一個方法。

我們舉一個例子:當我們添加文檔的時候,會打開如下圖所示表單。

我們在瀏覽器看到這的這個表單,實際上是一個模板文件也就是html代碼,如果是php代碼是肯定不會在瀏覽器看到的,因為,php程序是運行在服務器上面的,知道這個原理我們就可以推測,這個表單一定是一個html代碼并且嵌套了標簽的模板文件,當我們提交之后,會被提交到對應的php文件進行處理。

由此,我們推斷這個php文件一定引入了模板文件,而這個模板文件經過編譯后,顯示在我們的瀏覽器上面。根據上面我們講到過的織夢命名規則,我們只要找到對應的php文件,一定會找到對應的模板文件。我們知道這個發布文檔的php程序文件是article_add.php,那么,他對應的模板文件是一定是article_add.htm,一定也沒有錯,正是這個文件。

通過上例我們發現如果一個對話框,在瀏覽器顯示,一般都是php和htm模板文件配合使用,在織夢里面是這樣的,當然,還有一種情況就是只用js和php文件,但是,js里面也必定有html代碼。

但是織夢里面有一種特殊的對話框,叫“提示窗口對話框”,這個對應框跟上面的表單一樣又完全不一樣,這個說的一樣是,這個對話框也調用了模板文件/templets/plus/win_templet.htm,從這點來說是一樣的,在織夢里面只要顯示在瀏覽器上面的內容,都會有對應的模板文件。

但是又不一樣,這個對話框是織夢通過一個類,進行動態加載的對話框內容的。這里說的動態加載內容,指的是不像上面模板文件是寫好的,固定不變的,而是通過我們自己定義顯示的內容,這樣的最大好處是我們可以自由定義對話框,包括對話框的,顏色,按扭等各種選項。

這就是織夢的系統提供給我們的“提示窗口對話框類”,本教程會對這個類通過一個實例,來詳細分析這個類,在以后開織夢二次開發時,如果想使用這種對話框可以自己定義特別方便。

其實,在織夢后臺里面有很多地方都用到這個“提示窗口對話框”,例如,移動欄目,如下圖所示。

還有刪除欄目對話框,如下圖所示。

這二個都是應用到“提示窗口對話框類”了,當然,在織夢系統里面并不僅僅這二個,還有很多,我們這里不一一列出。

今天,我們就以“移動”欄目為例子,來講解“提示窗口對話框”是如何執行的,等我們把這個學會了,其它,都不成問題,我們自己也就會寫出自己個性的對應框了。

用到的程序文件:

“提示窗口對話框類”對應的文件:http://www.dedebase.com/include/oxwindow.class.php

“移動”欄目:http://www.dedebase.com/dede/catalog_do.php

工作原理:

通過在文件catalog_do.php里面自定義對話框內容,然后,實例化oxwindow.class.php里面的類OxWindow。調用這個文件里面已經定義好的table表格及其相應的方法,然后,通過Display()方法顯示出來。

提示窗口對話框類里面的方法有:

1、開始創建窗口方法:

StartWin(),這個方法的功能是定義了表格的開始,即<table width='100%'border='0'cellpadding='3'cellspacing='1'bgcolor='#DADADA'>\r\n,并存放在變量$this->myWin里面。

2、初始化為含表單的頁面:Init($formaction="",?$checkScript="js/blank.js",?$formmethod="POST",?$formname="myform")

通過初始化,得到一個類似下面的字符串,并賦給$this->myWin。

3、增加隱藏域方法:

AddHidden($iname,$ivalue),這個方法是增加隱藏域,如本例子“移動”欄目里面的,如下隱藏域。

上面這些隱藏域正是通過這個方法來實現的,定義好后的隱藏域賦給$this->myWin。

4、增加單列的標題行:

AddTitle($title, $col="2"),通過這個方法我們可以得到,對話框里面的標題,如下圖所示。

這個標題對應的html代碼為:

移動目錄時不會刪除原來已創建的列表,移動后需重新對欄目創建HTML。

對應的方法調用為是:$win->AddTitle("移動目錄時不會刪除原來已創建的列表,移動后需重新對欄目創建HTML。")

5、增加一個兩列的行:

AddItem($iname, $ivalue),通過這個方法我們可以得到一個一行兩列的表格內容,例如,本例中,通過$win->AddItem('你選擇的欄目是:',"$typename($typeid)");

$win->AddItem('你希望移動到那個欄目?',"\r\n移動為頂級欄目\r\n$typeOptions\r\n");

$win->AddItem('注意事項:','不允許從父級移動到子級目錄,只允許子級到更高級或同級或不同父級的情況。');

通過上面三次對方法AddItem()的調用,得到如下對話框內容。

你選擇的欄目是:Javascript/Ajax(4)你希望移動到那個欄目?

移動為頂級欄目

網頁基礎

─Javascript/Ajax

─Dreamweaver

DIV&CSS

注意事項:不允許從父級移動到子級目錄,只允許子級到更高級或同級或不同父級的情況。

對應的如下圖所示對話框內容。

6、增加一個單列的消息行:

AddMsgItem($ivalue,$height="100",$col="2")這個方法是增加一個類似下面的一個單列:

?$ivalue?

這個方法在本例子中,沒有用到,我們就實驗一下這個方法。

在文件catalog_do.php里面加上$win->AddMsgItem("這是測試用的一個方法",$height="100",$col="2");這一行代碼,移動欄目顯示結果如下圖所示。

7、結束Window:CloseWin($isform=true),這個方法就是定義了一個表格的閉合,代碼極簡單沒有什么好講的。

8、增加自定義JS腳本:SetCheckScript($scripts)這個功能我們一般用不到,因為,在初始化時,我們就已經定義了js文件了。

9、獲取窗口:GetWindow($wintype="save",$msg="",$isform=true),這個方法把上面的字符串變量$this->myWin和$this->myWinItem進行了對接,也就是把表格表單內容進行組合,同時這個方法還提供了一段表格定義。而且還定義了按扭的類型。

這個按扭本沒有什么,但是,這種定義的方法確是值得我們學習的。例如本例子中,$win->GetWindow('ok')里面的“菜單類型”為ok,對應對話框如下圖所示。

若我們把類型save,即$win->GetWindow('save'),將看到如下所示對話框。

窗口型按扭類型圖:

通過這個窗口函數的調用,返回了對接后的表格$this->myWin,以備下面的display()函數使用。

10、顯示頁面:Display($modfile=""),這個對話框之所以能夠顯示出來,就是這個函數作用的結果,可以說,以上9個方法全為這個函數作顯示準備。

總結

以上是生活随笔為你收集整理的php对话框制作,织梦系统“提示窗口对话框类”详解,oxwindow.class.php、catalog_do.php...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。