




已閱讀5頁,還剩21頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
全日制本科生畢業論文題 目: 基于Drupal框架的“重師青年”雜志管理系統開發 學 院: 計算機與信息科學學院 專業年級: 計算機科學與技術(師范)2012級 學生姓名: 學號: 指導教師: 職稱: 2016 年 5 月 6 日 基于Drupal框架的“重師青年”雜志管理系統開發 摘 要:本畢業設計是基于Drapul框架進行雜志管理系統的開發。該系統的主要功能包括發布文章、文章管理、人員管理、模板管理、外觀更改等。本系統的運行環境是Apache+MySql,其主體部分是后臺管理系統,采用了Drupal、php等技術。同時也包含前臺頁面,采用html、Css、JavaScript、Bootstrap、Ajax等技術。此系統已經開發成功,功能已達到設計要求,并可以正常運行。關鍵詞:Drapul;php;JavaScript;管理后臺全套設計加扣3012250582 Abstract:Based on the Drapal framework, this Graduation design develop a journal management system. The conditions of the system run are Apache and MySql, this systems dominant part is the background management system, using Drupal ,PHP and other technologies; also includes the front-end page, using HTML, Css, JavaScript, Bootstrap, Ajax and so on. Through the above technologies, the system achieves the main functions including publishing articles, article management, personnel management, template management and changing the appearance. This system has been developed, the function has reached the design requirements, and can run normally.Key words:Drapul; php; JavaScript; Management system 隨著網絡的迅速發展,網上瀏覽信息早已成為大學生的一種習慣,通過網上雜志管理系統,雜志社管理員能及時將雜志社發布的活動、文章等信息更新到線上,使得用戶可以隨時查看信息,使得管理員管理更方便、快捷。1 技術與工具概述1.1 開發工具及技術本系統使用開發工具有phpstorm編輯器,phpstudy環境集成包,photoshop圖像處理軟件等;開發中主要使用技術包含drupal、php、mysql、html、javascript、css.下面是對主要開發工具以及開發環境和Drupal框架的簡要介紹。1.1.1 PhpstormPhpstorm:一款輕量級的編輯器,可在Windows,Mac OS X,Linux上運行,安裝簡單,支持zen編碼,相對DW而言,其優勢在于可以跟蹤代碼。1.1.2 Phpstudy IDEphpstudy :phpstudy 集成了最新的Apache、PHP、MySQL、phpMyAdmin。phpstudy無須配置即可使用,是非常方便、好用的虛擬服務器。該程序不僅包括PHP調試環境,還包括開發工具以及開發手冊等。Phpstudy支持多種版本,可以隨意進行版本切換,也可以根據開發需求進行路由配置。1.1.3 DrupalDrupal是用來構建網站的,它是一個基于php語言編寫的CMF。它的特點有:可擴展性強、安全性高、高度模塊化、追求代碼簡潔、內核精煉。Drupal的設計目標使得其既可在廉價web虛擬主機上運行,也可以適應高負載的分布式站點。所以可以選擇phpstudy IDE配合開發1。1.2 開發環境及搭建1.2.1 開發環境操作系統:win7操作系統瀏覽器:谷歌瀏覽器編輯器:Phpstorm服務器:Apache (采用phpstudy 集成環境包)開發語言:PHP、Javascript、html、css數據庫:MYSQL1.2.2 開發環境搭建以下是對本系統開發環境的搭建說明,在開發時,一定要先完成Phpstudy 環境搭建后完成Drupal環境搭建,否則會導致環境搭建不成功。(1)Phpstorm開發環境搭建下載Phpstorm最新版,然后按提示安裝。安裝完成后,為方便后期開發,打開整個項目,修改快捷鍵(File-setting-keymap)。Phpstorm的zen編碼快捷鍵是Tab。(2)Phpstudy 環境搭建下載Phpstudy最新版,然后按提示安裝,安裝時選擇安裝目錄為自己的站點運行目錄,然后啟動程序,左鍵單擊“php版本”(如圖1.1所示),選擇Apache+php版本并應用。開發過程中若需要更改hosts,左鍵單擊“其他選項菜單”,選擇“打開hosts”(如圖1.2所示),然后對hosts進行修改、保存。(注:修改完后一定要重啟phpstudy,否則修改無效。)圖1-1 php版本切換圖 圖1-2 hosts修改圖(3)數據庫環境搭建用Navicat或者phpstorm的mysql工具新建數據庫。注:記錄下數據庫名、用戶名、密碼,以便之后使用。(4)Drupal環境搭建下載drupal:打開drupal官網,下載drupal核心包7.43版。下載得到的其實就是drupal的核心。目前,drupal8相對drupal7而言,功能模塊數量較少,且整體性能不足7穩定,而drupal7.43修復了之前版本的重大bug,故下載7.43版2。解壓drupal:將drupal核心包解壓至站點運行目錄(d:/www)。下載語言包:打開/translate/languages/zh-hans頁面,下載相應的語言包(.po文件)。安裝語言包:將下載的語言包放至d:/www/drupal7.43/profiles/standard/translations 目錄下。初始化:在瀏覽器中打開http:/localhost/drupal-7.43/,此時瀏覽器會運行drupal的index.php。選擇“Standard”,然后點擊 Save and continue 執行下一步。選擇語言:選擇簡體中文,點擊 Save and continue 執行下一步。數據庫配置:按照提示填寫數據庫的配置信息,如數據庫名、數據庫用戶名以及數據庫用戶的密碼等,點擊下一步。安裝Drupal:此時系統執行Drupal的安裝工作,并且系統自動導入翻譯,然后進入到Drupal站點配置頁面。Drupal站點設置:按照提示填寫相關站點信息,點擊Save and Continue,此時便完成了drupal的安裝。訪問站點:站點url為: http:/localhost/drupal-7.43/注:drupal環境搭建中第9步站點設置時設置的管理員賬戶擁有超級管理員權限。2 需求分析2.1 系統需求分析2.1.1 前臺頁面需求分析(1)前臺頁面應包含首頁,學習、考研、校園、畢業季、樂活列表頁,最近更新,加入我們。訪問前臺頁面無需注冊與登錄。(2)首頁展示網站logo、導航欄、首頁大圖、推薦文章。(3)學習、考研、校園、畢業季、樂活為該分類下的對應列表頁,點擊進入相應的詳情頁。(4)最近更新展示最近更新到網站的文章列表。(5)聯系我們簡要介紹雜志社。2.1.2 管理后臺需求分析(1)后臺包括內容、結構、外觀、人員、模塊、配置等,后臺頁面均需登錄、且有權限控制。(2)內容:點擊進入整個網站的全部內容列表,列表中包含編輯、刪除按鈕,可以新增內容。列表頁有權限控制。(3)結構:點擊彈層,顯示管理內容類型,分類,區塊,菜單,點擊分別進入詳情頁,可進行增、刪、改、查操作。(4)外觀:點擊后進入主題列表頁,可在列表頁切換主題,點擊設置按鈕可以進入主題設置頁面,對站點外觀進行自定義設置。(5)人員:點擊進入人員列表頁,可以對系統注冊人員(即后臺管理人員)進行增、刪、改、查的操作,同時也可在這里對人員進行禁用(邏輯刪除)。(6)模塊:點擊進入模塊列表頁,點擊權限按鈕可以設置每個用戶登錄后查看模塊的權限,點擊配置按鈕可以修改模塊的顯示位置及顯示頁面。(7)配置:點擊進入配置列表頁,列表頁包含可選配置項。如文本格式、文件系統,點擊分別進入設置頁面,在設置頁面可以對系統的基本配置進行修改。2.2 可行性分析在系統開發前,為降低資源和時間的浪費和損失,從以下幾點對本次畢業設計做了可行性分析3。2.2.1 技術的可行性本次系統開發,技術重點為php,技術難點為Drupal框架的使用。Php難度不大,但Drupal初次接觸,難度稍大。為解決技術難點,參與了Drupal重慶分享會,也通過老師、同事獲取了更多的資料,并做了初步的使用實驗,基本掌握本次系統所需相關知識,所以,技術上可行。2.2.2 經濟的可行性Drupal框架是開源的,開發中部分軟件由實習公司免費提供。部分學習資料自費購買,但價格均在能力范圍內,所以,經濟上可行。2.2.3 時間的可行性此次畢業設計從2016年1月開始準備資料和學習,并且已擬定相關時間安排表(見開題報告),所以,時間上可行。3 系統整體設計3.1 系統流程設計(1)前臺用戶無需登錄即可查看前臺頁面內容,前臺頁面無權限控制。(2)進入首頁后可以通過點擊首頁readmore打開文章(詳情頁),可以通過導航欄進入文章題目列表(列表頁),點擊列表可以打開文章。(3)后臺管理員登錄成功后進入后臺首頁,通過導航欄進入文章題目列表。(4)用戶只能從后臺注冊,前臺沒有注冊界面。(5)后臺管理員可對人員、外觀、模塊、內容等進行管理,安裝Drupal時注冊的用戶具有超級權限,可以開發模塊4。如圖3-1是對系統功能進行簡要說明。圖3-1 系統功能流圖登錄成功登錄失敗區塊模板登錄管理員用戶表后臺首頁語言表節點表節點模塊配置模塊人員用戶結構節點模板外觀系統內容節點表區塊模板菜單模塊節點詳情節點模板菜單模塊 數據庫節點表用戶首頁最近更新關于我們節點模板列表頁詳情頁導航導航3.2 數據庫的分析與設計3.2.1 數據庫的概念結構設計數據庫的概念結構設計采用實體聯系的模型設計方法。E-R模型法的組成元素有:實體、屬性、聯系,E-R模型用E-R圖表示,是提示用戶工作環境中所涉及的事物;屬性是對實體特性的描述。(1)實體(3)實體間關系(2)屬性圖3-2 圖標示例圖(1)內容實體E-R圖示例圖3-3 內容E-R圖創建者 正文 權重內容類型內容 狀態 標題創建日期所屬菜單菜單鏈接(2)用戶實體E-R圖示例用戶名 密碼 郵箱 角色 狀態 語言用戶圖3-4 用戶E-R圖(3)菜單實體E-R圖示例標題 權重 所屬模塊鏈接路徑子鏈接父菜單菜單圖3-5 菜單E-R圖(4)內容類型實體E-R圖示例圖3-6 內容類型E-R圖 版本 語言內容類型 狀態 標題修改時間創建日期權限用戶(5)區塊實體E-R圖示例圖3-7 區塊E-R圖 標題顯示頁面 權重 狀態緩存模式啟用主題所屬模塊區塊(6)外觀實體E-R圖示例圖3-8 外觀E-R圖 站點圖標 主題站點名稱外觀(7)總體E-R圖圖3-9 總體E-R圖圖n內容類型用戶區塊內容創建屬于創建組成111n創建11nnn3.2.2 邏輯設計表3.1 系統數據庫表列表序號表文件名表名稱說明1node節點模塊表存儲節點節點基本信息2node_type節點版本表存儲了一個節點的類型信息3users用戶信息表存儲用戶數據4system系統信息表儲存系統信息5language語言信息表存儲系統中所有可用語言表6block區塊信息表存儲區塊設置、如區塊可見性,位置等7block_node_type區塊類型表儲存區塊類型信息8field_data_body內容主體表存儲內容主體信息9menu_links菜單鏈接表存儲菜單內的單個鏈接10cache通用緩存表存儲緩存信息,包含第三方模塊的緩存信息表3.2 節點模塊表序號字段名類型長度默認值主鍵外鍵允許為空說明1nidint10是節點id2vidint10用戶名3uidint11是權限用戶4languagevarchar12是語言5titlevarchar255標題6createdint11創建時間戳7changedint11上次修改時間8promoteint11推薦到頁首9statusint11狀態10stickyint11是否置頂11tnidint10是節點類型id12translateint11是否翻譯備注:(1)uid:擁有權限的用戶id。 (2)sticky:0 不置頂,1 置頂。 (3)promote:0 不推薦,1 推薦。 (4)status:0 不啟用,1 啟用。 (5)translate:0 不翻譯,1 翻譯。表3.3 節點類型表序號字段名類型長度默認值主鍵外鍵允許為空說明1typeint10是類型id2nameint10類型名3descriptionmediumtext描述4createdint11創建時間戳表3.4 用戶信息表序號字段名類型長度默認值主鍵外鍵允許為空說明1uidint10是用戶id2namevarchar50用戶名3passvarchar32用戶密碼4mailchar64用戶郵箱5languagevarchar12默認語言6themevarchar255是默認主題7statustinyint40狀態8picturevarchar255頭像路徑9loginint11上次登錄時間戳表3.5 系統信息表序號字段名類型長度默認值主鍵外鍵允許為空說明1filenameint10是項目路徑2namevarchar50項目名3typevarchar255類型(如module)4ownervarchar255父級5statusint110狀態6weightint110權重7bootstrapint110是否加載bootstrap備注:(1)Filename:項目相對drupal的相對路徑。 (2)name:項目的名稱,如:node。 (3)satus:0 不啟用;1 啟用。 (4)bootstrap:0 不加載bootstrap模塊,1 加載bootstrap模塊。表3.6 語言信息表序號字段名類型長度默認值主鍵外鍵允許為空說明1languagevarchar12是機讀碼2namevarchar64語言名3directionint110讀寫方向4enabledint11是否啟用5weightint640權重6javascriptvarchar32Js翻譯文件位置備注:(1)direction:0 從左向右;1從右向左。 (2)enabled:0 不啟用;1 啟用。表3.7 區塊信息表序號字段名類型長度默認值主鍵外鍵允許為空說明1bidint11是區塊id2modulevarchar64用戶名3themevarchar64是主題4visibilitytinyint4顯示方法5titlevarchar225區塊標題6cachetinyint41緩存機制7statustinyint40狀態8weightint110權重備注:(1)visibility:0 除所列頁面外所有頁面,1 所列頁面顯示,2通過代碼控制 (2)cache:-1 不緩存,1 基于角色緩存,8 全局緩存區塊 (3)status:0 不啟用,1 啟用。表3.8 區塊類型表序號字段名類型長度默認值主鍵外鍵允許為空說明1midvarchar64是區塊id2modulevarchar32區塊名3typevarchar32區塊類型表3.9 內容主體表序號字段名類型長度默認值主鍵外鍵允許為空說明1bundlevarchar128內容類型2deletedtingyint40是否刪除3entity_idvarchar10是節點id4languagevarchar32是語言5body_valuelongtext0主體內容6body_formatvarchar255主體編碼備注:(1)language:主體內容使用語言。 (2)body_format:文本編碼格式(html/text)。 (3)deleted:0 不刪除,1 刪除(邏輯刪除)。表3.10 菜單鏈接表序號字段名類型長度默認值主鍵外鍵允許為空說明1mlidint10是菜單鏈接id2menu_namevarchar50菜單名3plidvarchar100父級鏈接id4link_titlevarchar255鏈接標題5modulevarchar255是模板6weightvarchar11權重備注:(1)plid:父級鏈接id。表3.11 緩存信息表序號字段名類型長度默認值主鍵外鍵允許為空說明1cidint10是主鍵id2datavarchar255緩存數據3expireint11時效4createdint11創建時間戳備注:(1)expire:時間戳格式,用于表示緩存時效,0表示永不過期。 (2)body_format:文本編碼格式(html/text)。3.2.3多表聯結關系圖圖3-10 多表關聯圖4 系統實現4.1 數據渲染流程當在瀏覽器輸入url后drupal就會調用index.php。但當打開index.php后會發現其中只有如下幾行代碼5:define(DRUPAL_ROOT, getcwd();require_once DRUPAL_ROOT . /includes/bootstrap.inc;/加載include文件夾中的函數等drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);menu_execute_active_handler();看完代碼發現,drupal強大的功能就是基于以上四行代碼的,對index.php做一個代碼跟蹤后發現其渲染流程如下:(1)加載index.php,在此文件中調用drupal_bootstrap();以及menu_execute_active_handler();(2)drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL)函數:從 bootstrap.inc中可以找到 DRUPAL_BOOTSTRAP_FULL的值為7,對drupal_bootstrap($phase)函數進行分析可得此處就是循環調用_drupal_bootstrap7次。什么意思呢?其實就是執行以下函數: _drupal_bootstrap_configuration();/初始化配置 _drupal_bootstrap_page_cache();/試圖緩存頁面 _drupal_bootstrap_database(); /初始化數據庫層 _drupal_bootstrap_page_header();/設置頁眉 drupal_session_initialize();/初始化session _drupal_language_initialize();/初始化頁面語言 _drupal_bootstrap_full();/完全加載Drupal。驗證和修正輸入數據綜上,drupal_bootstrap其實就是用來加載所有的系統必須包含的文件和模塊文件,并且運行模塊函數 hook_init.這就使得我們可以自由調用模塊6。menu_execute_active_handler():它的作用就是通過url,來調用數據庫中的相關函數,并且把頁面相關的inc文件加載進來。此文件中的menu_get_item()函數用來接收q的值,然后解析出對應的模塊,并調用相關函數,加載頁面。4.2 功能模塊開發實例在drupal系統中,頁面是由多個模塊組合而成。Drupal強大的定制功能,使得開發者可以自由開發模塊,以滿足當前業務需求7。以下,以實現最近更新列表頁為模板,對開發區塊過程做示例展示。(1) 創建模塊目錄和文件,如圖4-1所示:圖4-1 目錄圖(2) 編寫模塊描述文件如圖4-2所示:圖4-2 描述文件圖(3) 編寫第一個鉤子如圖4-3所示:圖4-3 幫助鉤子圖(4) 聲明區塊如圖4-4所示:圖4-4 區塊聲明圖(5)從數據庫獲取數據如圖4-5所示:圖4-5 獲取數據圖(6)數據渲染如圖4-6,4-7所示:圖4-6 數據渲染圖1圖4-7 數據渲染圖2 (7) 測試、調試如圖4-8所示:圖4-8 測試使用圖(8) 運用至頁面,如圖4-9所示:圖4-9 頁面使用圖4.3 系統測試、調試前臺頁面,測試閱讀更多,列表頁、詳情頁的相關跳轉及樣式;對于后臺,重點測試登錄、區塊設置,站點信息更改等功能。對于頁面數據問題用t(“variable”)進行調試,對于頁面樣式的調試則修改對應的頁面css文件,對于一些特殊的元素則在*.tpl.php中修改對應的樣式即可8。5 系統部分頁面展示圖5-2 “樂活”前臺列表頁圖5-1 前臺首頁圖圖5-4 后臺首頁圖圖5-3 “樂活”后臺列表頁圖5-6 后臺內容管理頁圖5-5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務會計實務操作與財務管理知識詳解
- 加油站安全生產管理制度
- 制造行業合同管理系統解決方案
- 縣級醫院人事管理制度
- 顧客忠誠度建設與新零售增長策略
- 2025年四川省南充市中考英語真題含答案
- 非物質遺產的市場價值開發與策略分析
- 音樂產業政策支持體系的構建與研究
- 非遺文化與教育結合的婚禮策劃模式探索
- 顧客體驗升級個性化營銷的全新策略研究
- 江蘇省蘇州市2024-2025學年高一上學期1月期末學業陽光指標調研試題 歷史
- 2024年度蓮花山礦山地質環境治理與土地復墾計劃書
- 知識產權維權合同范本
- 深度解析:強制執行措施及其應用課件
- 人教版高中英語單詞表全部
- 大邑蓄水池清淤施工方案
- 2025年度尿素肥料采購合同范本及環保要求解析3篇
- 浙教版八年級下科學第四單元植物與土壤尖子生培優卷及答案
- 2025年中國江蘇省餐飲行業發展趨勢預測及投資戰略研究報告
- 【大學課件】道路工程測量2
- 2025正規離婚協議書樣本范文
評論
0/150
提交評論