SilverStripe建立新的模板

2021-04-27 18:32:44 字數 1882 閱讀 9840

今天在學習silverstripe的東西,沒什麼資料,很暈,做mvc的設計有點捉不到頭緒,自己邊看官網的文件便自己操作,整理出來,以作備忘

首先需要建立乙個新的page type:

我們在ss系統中,建立乙個新的頁面需要選擇乙個page type,ss將會尋找相應的模板。因此第一步是建立乙個新的page type。

每乙個頁面都對應2個php類,乙個是資料物件,乙個是控制器。先不要考慮這些細節,後面我們將討論。

建立乙個新的檔案homepage.php在mysite/code,拷貝下面的**

<?php

/*** defines the homepage page type

*/class homepage extends page

class homepage_controller extends page_controller

?>

每乙個資料型別都以乙個表和他對應,每次我們修改資料庫,都需要重建他,我們可以通過訪問http://127.0.0.1/你的ss執行目錄/dev/build?flush=1來更新你的資料庫的列舉,或者訪問http://127.0.0.1/你的ss執行目錄/db/build?flush=1效果是一樣的,這樣當你再次訪問ss的cms後台的時候,你就會驚奇的發現你建立的homepage已經在page type裡面了

第二步:建立乙個homepage型別的頁面,或者將已有的頁面變成homepage的型別

第三步:建立乙個新的模板,就是對應你的homepage類別的模板

copy乙個page.ss的頁面到該目錄下,要實現這一步首先要搞清楚你呼叫的是那個資料夾下的模板,很容易,檢視(你的ss安裝目錄)/mysite下的檔案_config.php,找到

ssviewer::set_theme('******');括號裡的就是呼叫的模板資料夾,找到該模板檔案在目錄

(ss的安裝目錄)/themes/*******/templates下,拷貝page.ss成為homepage.ss,然後稍微修改下該模板,比方說新增一張,可以加入以下的**到content div以上:

id="banner"

>

src="themes/tutorial/images/welcome.png"

alt="homepage image" />

然後訪問對應的頁面的位址,後面加上?flush=1用來重新整理快取,就可以看到效果了

其實我們仔細研究下這兩個模板檔案page.ss和homepage.ss就會發現,大部分都是相同的,只有一小部分content div之內的一些東西不一樣,這樣我們可以用子模板,即layout資料夾下的模板檔案

我將之前做好的模板page.ss和homepage.ss中間不一樣的content div之內的東西全部貼上到layout資料夾下的同名檔案中,就是page.ss中的conteng內容粘到laoout/page.ss中,homepage.ss中的東西粘到layout/homepage.ss中,然後刪除掉主模板中的homepage.ss檔案,將page.ss中被去掉內容的地方加上變數$layout用來引入layout子模板內的內容,然後看子模板,其實子模板已經完成了,需要注意幾個地方,乙個是div的配對,不要弄錯了,在乙個就是變數$content這個用來引入頁面的具體內容的變數。基本上就這麼多,說完了,通過頁面位址可以訪問看到效果

另外備註一下模板的訪問情況,插入不好用,算了不加了

silverstripe首先會訪問同pagetype名的模板,如果沒有的話就用page.ss代替,然後在引入子模板的時候page type型別的就會引入page.ss,homepage型別的就會引入homepage.ss(如果有的話)

可以參考http://doc.silverstripe.org/doku.php?id=tutorial:1-building-a-basic-site,官網,上面有,我大部分就是做了翻譯還有自己的一些理解

silverstripe學習(繼續)

今天來學習怎麼寫頁面 例如這樣 class schoolclass extends dataobject 2 然後更新資料庫,訪問db build flush 1的這個位址,你想要的資料庫就會建好了 3 需要些前端的頁面了,乙個web頁面,最基本的操作就是有些文字框可以提交,首先學習怎麼寫這些web...

建立新的client

在sap 伺服器安裝時,預設設定了三個client,分別是000,001和066。這些client是sap的標準client,它們包含了client的初始資料,一般不要拿來用。如果要開始配置系統,請以client 000為源拷貝乙個新的client。我們以000這個client為模板,拷貝生成乙個新...

Github 建立新分支

clone github 上的repository,如下 git clone git github.com fbing design patterns.git1 檢視本地分支 使用 git branch命令,如下 git branch master 標識的是你當前所在的分支。2 檢視遠端分支 命令如...