フォーラムでSOY CMSの管理画面のUIを改修したいので、該当するページのテンプレートがある箇所を教えて欲しいという投稿があったので、管理画面のHTMLファイルの格納ディレクトリの規則を整理する。
ドメインをexample.comにして、SOY CMSのインストールディレクトリをcmsにする。
SOY CMSのページのテンプレートの編集画面を例にして話を進める。
はじめにブラウザのアドレスバーを確認すると、
http://example.com/cms/soycms/index.php/Page/Detail/3
のような感じになっていて、末尾の数字が異なっているはず。
末尾の数字はページのIDを意味していて、テンプレートのHTMLファイルを探す上では気にしなくて良い。
最初にインストールディレクトリであるcmsと右のsoycmsに注目する。
この関係は、SOY CMSのインストール時に見かけている
cms ├── admin ├── app ├── common ├── license └── soycms
に対応している。
次に管理画面のページに関するHTMLファイルが格納されているディレクトリについて触れる。
soycms ├── cache ├── css ├── image ├── js └── webapp ├── extmock ├── language └── pages
ページのテンプレートのHTMLファイル一式は/cms/soycms/webapp/pagesディレクトリ以下に格納されている。
再び、ブラウザのアドレスバーに表示されれているURLを持ち出す。
http://example.com/cms/soycms/index.php/Page/Detail/3
index.phpより右のPageとDetailから該当するHTMLファイルを探す事になる。
先にPageの方から見ていく。
先程のpagesディレクトリを開き、
pages ├── Block ├── Blog ├── Common ├── Entry ├── EntryTemplate ├── FileManager ├── Init ├── Label ├── Login ├── MailConfig ├── Memo ├── Module ├── Page ├── Plugin ├── Simple ├── SiteConfig ├── Template └── files
Pageディレクトリを探して開く。
次にDetailを探す為にPageディレクトリを開く。
※下記のディレクトリ構造ではファイルも同時に出力している
Page ├── Application │ ├── DetailPage.class.php │ └── DetailPage.html ├── ApplyTemplatePage.class.php ├── ApplyTemplatePage.html ├── CopyPage.class.php ├── CreatePage.class.php ├── CreatePage.html ├── DetailPage.class.php ├── DetailPage.html ├── Editor │ ├── FileUploadPage.class.php │ ├── FileUploadPage.html │ ├── GetCSSPage.class.php │ ├── InsertBlogLinkPage.class.php │ ├── InsertBlogLinkPage.html │ ├── InsertLinkPage.class.php │ ├── InsertLinkPage.html │ ├── InsertMobileLinkPage.class.php │ ├── InsertMobileLinkPage.html │ ├── InsertSiteLinkPage.class.php │ ├── InsertSiteLinkPage.html │ ├── SaveCSSPage.class.php │ ├── SaveTemplatePage.class.php │ └── UploadCancelPage.class.php ├── ExportTemplatePage.class.php ├── IndexPage.class.php ├── List │ ├── TreePage.class.php │ └── TreePage.html ├── Mobile │ ├── AddAfterPage.class.php │ ├── DeletePage.class.php │ ├── DetailPage.class.php │ ├── DetailPage.html │ ├── ModifyPopupLabelSelectForm.html │ ├── ModifyPopupPage.class.php │ ├── ModifyPopupPage.html │ ├── ModityPopupEntrySelectForm.html │ ├── MoveDownPage.class.php │ ├── MovePage.class.php │ ├── MoveUpPage.class.php │ ├── TreePage.class.php │ └── TreePage.html ├── Preview │ ├── CSSEditorPage.class.php │ ├── CSSEditorPage.html │ ├── EntryPage.class.php │ ├── EntryPage.html │ ├── IndexPage.class.php │ ├── PreviewPage.js │ ├── PreviewPageSimple.js │ ├── TemplatePage.class.php │ └── TemplatePage.html ├── PutTrashPage.class.php ├── RecoverPage.class.php ├── RemovePage.class.php ├── TemplateHistoryDetailPage.class.php ├── TemplateHistoryDetailPage.html ├── TemplateHistoryPage.class.php └── TemplateHistoryPage.html
Pageの時同様、Detailディレクトリを探してみるがDetailディレクトリがない。
ディレクトリがない場合は、DetailPage.htmlというファイルを探してみて、そのファイルがあれば目的のファイルになる。
DetailPage.htmlと対になるようにDetailPage.class.phpというファイルがあるが、これらの話をもっと知りたい場合は下記の記事をオススメする。
SOY2HTMLで軽微なカスタマイズを加える為の機能を追加しました