以 CodeIginter 3 元件化重構 SYF:從首頁開始
SYF 網站本身是無使用框架的 PHP 5 建構,隨著開發週期推進,維護的成本越來越高,各種小 bug 與邏輯混雜於其中,根本滾雪球效應。不同區塊投放、不同頁面重複的區塊複製貼上、類似功能 codes 複製貼上、為了做 SEO 與網站最佳化要縮圖、頁面要靜態化……族繁不及備載。剛好趁著開發子站SYF 最新商品引入 CodeIgniter 3 框架做開發。
Views Directory Tree
views
│ index.html
│ rest_server.php
│
├─components
│ A區#賀成交.php
│ B區#區域廣告.php
│ C區#首頁推薦商品.php
│ D區#最新促銷.php
│ E區#精選商品.php
│ footer.php
│ F區#暢銷商品.php
│ G區#流行商品.php
│ head.php
│ H區#主題商品.php
│ I區#產品說明精選.php
│ K區#主題專案.php
│ left_categories.php
│ left_categories_gift.php
│ left_categories_print.php
│ left_categories_school.php
│ navigation.php
│ navigation_mobile.php
│ right_1_plus_6_ads.php
│
├─layouts
│ default.php
components 資料夾存放各元件的 views, layouts 則配置各頁面的 head, content, foot 等區塊
Routes 規劃
| 功能 | URL |
|---|---|
| 禮贈品首頁 | /home/gift |
| 印刷品首頁 | /home/print |
| 學校專區首頁 | /home/school |
| 禮贈品首頁 moblie PC版 | /home/gift?type=pc |
SYF SEO 控制器 / 靜態化檢視, /staticize/$basename
| 功能 | URL |
|---|---|
| 管理頁(參數揭露、各功能) | /seo/ |
| 生成 sitemap | /seo/sitemap |
| 靜態化接口 | /seo/staticize/$page_name |
SEO 控制器中,透過要產生的靜態化頁面檔案名稱 $basename 即可做靜態化。 舉例來說,訪問 http://www.syf.com.tw/dev/seo/staticize/index.html,即會在網站根目錄中生成對應的 index.html