プラグインメインクラス
function prefilterTransform( &$source , LC_Page_Ex $objPage, $filename) {
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
コールされたテンプレートのソース
case DEVICE_TYPE_SMARTPHONE:
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(file_get_contents($template_dir . 'categorycontents_products_list_add.tpl'));
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 45
46.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex $objPage , $filename) {
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
case DEVICE_TYPE_SMARTPHONE: コール元のPageオブジェクト
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(file_get_contents($template_dir . 'categorycontents_products_list_add.tpl'));
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 46
47.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex$objPage, $filename ){
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
case DEVICE_TYPE_SMARTPHONE: コールされたテンプレートのファイル名
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(file_get_contents($template_dir . 'categorycontents_products_list_add.tpl'));
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 47
48.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex$objPage, $filename) {
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
case DEVICE_TYPE_SMARTPHONE:
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(file_get_contents($template_dir . 'categorycontents_products_list_add.tpl'));
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 48
49.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex$objPage, $filename) {
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
case DEVICE_TYPE_SMARTPHONE:
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(
file_get_contents($template_dir . 'categorycontents_products_list_add.tpl')
);
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 49
50.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex$objPage, $filename) {
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
case DEVICE_TYPE_SMARTPHONE:
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
変更を加える
$objTransform->select('h2.title')->insertBefore( ソース
file_get_contents($template_dir . 'categorycontents_products_list_add.tpl')
);
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 50
51.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex$objPage, $filename) {
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
case DEVICE_TYPE_SMARTPHONE:
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(
file_get_contents($template_dir . 'categorycontents_products_list_add.tpl')
);
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 51
52.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex$objPage, $filename) {
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
case DEVICE_TYPE_SMARTPHONE:
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(
file_get_contents($template_dir . 'categorycontents_products_list_add.tpl')
);
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 52
53.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex$objPage, $filename) {
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
要素を指定
case DEVICE_TYPE_SMARTPHONE:
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(
file_get_contents($template_dir . 'categorycontents_products_list_add.tpl')
);
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 53
54.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex$objPage, $filename) {
$objTransform = new SC_Helper_Transform($source);
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE:
case DEVICE_TYPE_SMARTPHONE:
case DEVICE_TYPE_PC:
指定した要素の操作
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(
file_get_contents($template_dir . 'categorycontents_products_list_add.tpl')
);
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 54
55.
プラグインメインクラス
function prefilterTransform(&$source, LC_Page_Ex$objPage, $filename) {
$objTransform = new SC_Helper_Transform($source);
プラグインで用意した
$template_dir = PLUGIN_UPLOAD_REALDIR . 'CategoryContents/templates/';
switch($objPage->arrPageLayout['device_type_id']){
case DEVICE_TYPE_MOBILE: テンプレートを指定
case DEVICE_TYPE_SMARTPHONE:
case DEVICE_TYPE_PC:
// 商品一覧画面
if (strpos($filename, 'products/list.tpl') !== false) {
$objTransform->select('h2.title')->insertBefore(
file_get_contents($template_dir . 'categorycontents_products_list_add.tpl')
);
}
break;
default:
break;
}
$source = $objTransform->getHTML();
}
Copyright c LOCKON CO.,LTD. All Rights Reserved. 55
56.
テンプレート変更のまとめ
テンプレートで変更したい
要素をDOM形式で指定
要素に対する操作を実行
Copyright c LOCKON CO.,LTD. All Rights Reserved. 56
57.
カテゴリコンテンツ おさらい
①インスタンス生成 SC_Helper_Plugin
②PHP処理介入 CategoryContents
③テンプレート介入 ①
② ③
Pageクラス
controller
Smarty
SCクラス Viewクラス
model view
Copyright c LOCKON CO.,LTD. All Rights Reserved. 57