Basic CMS ガイド - カスタマイズ

カスタマイズ

Basic CMS ガイド - 基本的な使い方」でBasicの基本的な使い方を説明致しました。この章ではBasicを本格的にカスタマイズする方法をまとめまいります。


Basicの基本的な内部挙動

Basicのルートディレクトリ構成は以下の通りです

.htaccess

app

index.php

setting


全てのアクセスはまず「index.php」に集約されます。

そこから「コントローラークエリ」の概念に基づいて、自動的に適切なファイルが読み込まれ選択されます。


カスタマイズ場所

小難しいことは置いといてカスタマイズするテーマ置き場は以下の場所となっています。


app

 └ theme

      ├ admin

      ├ first_corporate

      ├ first_time

      └ [カスタマイズテーマ置き場所]


first_timeをそのままコピー

first_timeをそのままコピーして好きなテーマ名(ここではfirst_time_copyにしました)にして下さい。

その状態で一旦、「テーマ機能:テーマ切り替え」に移動すると

「first_time_copy」がある事が確認できます。


テーマ内の構成

first_time_copy

├ assets

├ controller

├ model

└ view


「assets」はテーマ内で使用するcss、jsが配置されてます

theme_infoも配置されており、「テーマ機能:テーマ切り替え」での説明やscreenshot表示をカスタマイズできます。


「controller」は制御の役割をしています

基本的にはBasicのmodelを叩いてデータを持ってきてviewに渡しています。

テーマ内で作成した独自modelのデータを叩く事も可能です。


「model」は処理の役割をしています

Basicでは機能毎にmodelを作成しています。

例 articleなら

article(ディレクトリ名)

├model_article_basis(クラス名)

└model_article_html(クラス名)


「model_xxx_basis」には主に処理系の関数群が配置されます。

「model_xxx_html」には、model_xxx_basisで処理されたデータを受け取り、HTMLを生成する関数群が配置されます。


カスタマイズにおいては、上記ルールに従わなくても問題ありません。

公式の実装ではこのルールに基づいてBasicが構築されているだけですので。


「view」は処理後・html生成されたデータを受け取って表示する役割をしています

またarticleで説明を致します。

view

└ article

   ├ content.php

   ├ head_footer.php

   ├ head.php

   └ template.php


基本的にはcontrollerから呼び出されるのはviewのtemplate.phpです。

template.phpで呼び出しているのは

head.php

header.php

navi_slide_menu.php

content.php

footer.php

head_footer.php

です。(現状)

ここもBasicのルールに則らなくて問題ありません。サイトデザインによってはtemplate.phpの中身はだいぶ変わると思いますので。


controllerから渡されたデータを表示しているのは主に

content.php

です。


また

content.php

head_footer.php

head.php

以外の呼び出しに関してはcommon配下のファイルを呼び出しています。


カスタマイズできない領域

大きく分けて

ルートディレクトリ配下の

index.php

setting

app

 └ theme

      └ admin

この3点です。


実際はカスタマイズできないわけではないですが、アップデート時に書き換えられてしまいますので公式としては非推奨とさせていただいております。