エクストラモードのページ関連のディレクトリの切替
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で任意のディレクトリのファイルを読みに行く際に使いましたが、
この時と同様にページクラスの格納されている位置の指定となります。
次の行の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箇所に自動でタグが挿入されるようになります。