フォーラムでSOY CMSの管理画面のUIを改修したいので、該当するページのテンプレートがある箇所を教えて欲しいという投稿があったので、管理画面のHTMLファイルの格納ディレクトリの規則を整理する。


ドメインをexample.comにして、SOY CMSのインストールディレクトリをcmsにする。

SOY CMSであれば、管理画面のURLを特定したい


template_editor_page


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というファイルがあるが、これらの話をもっと知りたい場合は下記の記事をオススメする。

SOY CMSを介さずにSOY2HTMLを使ってみる

SOY2HTMLで軽微なカスタマイズを加える為の機能を追加しました