SOY CMS / SOY Shop

ブログトップ

エクストラモードのページ関連のディレクトリの切替

2014年03月17日

前回まででエクストラモードの切替周りの説明を記載しました。

今回はエクストラモードのconfig.ext.phpの残りの細かい部分の解説をしていきます。

初期管理者のみエクストラモードの切替リンクを表示する




config.ext.phpで


if(!defined("EXT_MODE_DERECTORY_NAME")) define("EXT_MODE_DERECTORY_NAME", "extmock");

のように定数のEXT_MODE_DERECTORY_NAMEにエクストラモードで表示したいファイルのディレクトリ名を入れましたが、これがどのように呼ばれているかを見ていくと


エクストラモードのフラグである$isExtModeに1もしくはtrueを入れると


if($isExtMode){
	SOY2HTMLConfig::PageDir(dirname(__FILE__) . "/" . EXT_MODE_DERECTORY_NAME . "/");
	define("SOY2HTML_AUTO_GENERATE", true);
}

SOY2HTMLConfig::pageDir()にエクストラモードで読みに行くディレクトリ名を指定しています。


pageDirはSOY Appで任意のディレクトリのファイルを読みに行く際に使いましたが、

この時と同様にページクラスの格納されている位置の指定となります。

SOY App開発の解説 インストールとファイル構造


次の行のSOY2HTML_AUTO_GENERATEはtrueにしておくとsoy:idの読み込み周りを自動で処理するようになりますので、

この定数は必ず定義しておいてください。


/**
 * 外部JSファイルの読み込みを追加する
 */
HTMLHead::addScript("ext.js", array(
	"src" => SOY2PageController::createRelativeLink("./js/ext.js") . "?" . SOYCMS_BUILD_TIME
));

/**
 * 外部CSSファイルの読み込みを追加する
 */
HTMLHead::addLink("ext",array(
	"rel" => "stylesheet",
	"type" => "text/css",
	"href" => SOY2PageController::createRelativeLink("./css/ext.css")."?".SOYCMS_BUILD_TIME
));

上記二つの処理はエクストラモード用に使用したいJSファイルとCSSファイルの指定となります。

/CMSインストールディレクトリ/soycms/jsもしくは

/CMSインストールディレクトリ/soycms/cssに配置したファイルを

SOY2PageController::createRelativeLink("./css/***.css")で指定すると、

ページ表示の際のhead箇所に自動でタグが挿入されるようになります。