マルチデバイス最適化を強力サポートするWebサイト構築プラットフォーム!
sitepublis.png
sitepublis_logo.png
SITE PUBLIS 3 ベーシック
ユーザーログイン
ユーザーID
パスワード

オーバーライド可能な主なメソッド

getButtons

ページ編集画面にて、プラグインブロックの各種設定ボタンを表示するHTMLを記述します。

 

function getButtons(&$db, $permissionDetail) {
       $buttons = array();
       $buttons = parent::getButtons($db, $permissionDetail);
       // ↓↓ココから設定ボタン用の記述
       if ($permissionDetail['design_edit']) {
                // 設定ボタンより呼び出されるプログラム(遷移先)
                $designUrl = 'plugin_program_conf.php?blockId='.$this->_blockId;
                // ウィンドウ名
                $designWindowName = 'PluginConf2_'.$this->_blockId;
                // ウィンドウを開くためのJavaScript設定
                $designHref = "JavaScript:jsOpenWindow('$designUrl','$designWindowName', 480, 270)";
                // 設定ボタン用のアイコン画像
                $buttons[] = new MSM_Button('img/icon/spanner.gif',$designHref,'パラメータ設定');
       }
       // ↑↑ココまで設定ボタン用の記述
       return $buttons;
 }

getConfHtml

プラグインブロック設定ウィンドウを表示するHTMLを記述します。
function getConfHtml($db, $blockId) {
       $popupHeader = MSM_SystemMenu::getPopupHeader(MSM_Utils::escHtml("プラグインブロック設定"));
       $str =<<<EOD
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="system.css" type="text/css" />
 <title>SITE PUBLIS プラグインブロック設定</title>
 </head>
 <body>
 <div id="wrapper">
 <div id="content">
 <div id="popupGR">
 <form name="form1" method="post" action="plugin_program_conf_exec.php">
 <p style="padding:0; margin:0;">
       <input type="hidden" name="blockId" value="$blockId">
       <input type="hidden" name="okClick4JS" value="false" />
 </p>
 <!-- 〓〓〓〓〓 ▼ヘッダー▼ 〓〓〓〓〓 -->
 $popupHeader
 <!-- 〓〓〓〓〓 ▲ヘッダー▲ 〓〓〓〓〓 -->
 <!-- 〓〓〓〓〓 ▼ページエリア▼ 〓〓〓〓〓 -->
       <div id="page">
       <div id="pageinner">
       <!-- ↓↓ココからブロックの設定を行うウィンドウ内のHTMLを記述します。 -->
       <!-- ↑↑ココまでブロックの設定を行うウィンドウ内のHTMLを記述します。 -->
       </div><!-- /pageinner -->
       </div><!-- /page -->
 <!-- 〓〓〓〓〓 ▲ページエリア▲ 〓〓〓〓〓 -->
 <!-- 〓〓〓〓〓 ▼フッター▼ 〓〓〓〓〓 -->
       <div id="footer">
                <input class="button ok" type="submit" value="OK" />
                <input class="button gray" type="button" value="キャンセル" onclick="window.close()" />
       </div><!-- /footer -->
 <!-- 〓〓〓〓〓 ▲フッター▲ 〓〓〓〓〓 -->
 </form>
 </div><!-- /popupGR -->
 </div><!-- /content -->
 </div><!-- /wrapper -->
 </body>
 </html>
 EOD;
       return $str;
 }

getConfExecHtml

プラグインブロック設定ウィンドウで OKボタンをクリック(Submitされた場合)した際の設定情報保存処理を記述します。
function getConfExecHtml(&$db, $blockId, $parameter) {
       // ↓↓ココから処理を記述
       // ↑↑ココまで処理を記述
       $str =<<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>プラグインプログラム設定登録</title>
<script type="text/javascript" language="JavaScript">
<!--
if(! opener.closed){
opener.location.reload();
}
window.close();
-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
</body>
</html>
EOD;
       return $str;
}

getTypeName

編集モードのときに表示するブロック名を記述します。
function getTypeName() {
// 表示したい名前を記述
    return 'プラグイン:サンプル';
}

getHeadHtml

<head>~</head>に出力する内容を記述します。
外部スタイルシート、外部スクリプトファイルの読み込みやjavascriptを記述します。
JavascriptはgetJsでも記述可能です。
/**
 * ヘッダー部のHTMLを表示するメソッドです。
 *
 * このメソッドで返される文字列が<head>内に表示されます。
 *
 * @param object DB &$db データベースオブジェクト
 * @param object MSM_Page &$currPage 現在表示しているページのページオブジェクト
 * @param integer $mode 表示モード VIEW_MODE(プレビュー)/EDIT_MODE(編集モード)
 * @return string <head>内に表示するHTMLテキスト
 */
function getHeadHtml(&$db, &$currPage, $mode) {
         $str = parent::getHeadHtml($db, &$currPage, $mode);
       $str .=<<<EOD
<link rel="stylesheet" type="text/css" href="dynamic_css.php">
<script type="text/javascript" language="JavaScript">
<!--
       function jsFontSizeChange(size){
             document.getElementById('mainArea').style.fontSize = size;
       }
}
//-->
</script>
EOD;
       return $str;
}

getJs

ブロックで使用するJavascriptを記述します。
Javascriptは<head>内のscriptタグの中に挿入されます。
function getJs(&$db) {
    $str = parent::getJs($db);
// スクリプトを記述
$str .=<<<EOD
function jsFontSizeChange(size){
        document.getElementById('mainArea').style.fontSize = size;
}
EOD;
    return $str;
}

copy

ブロックのコピー時(ページの公開で、編集リビジョンから公開リビジョンへのコピーするときなども)に呼ばれるメソッドです。ブロックのコピー時に一緒にコピーしなければならないデータなどがあれば実装してください。
function copy(&$db, $parentBlockId) {
       parent::copy($db, $parentBlockId);
       // ↓↓ココから処理を記述
       // ↑↑ココまで処理を記述
}

delete

ブロックの削除時(ページの公開や削除のときなどでブロックが削除される場合も)に呼ばれるメソッドです。ブロック削除時に合わせて削除する必要があるデータがある場合には実装してください。

親クラスの deleteメソッドを呼び出す必要があります。
function delete(&$db, &$deleteFiles, $topFlag=false) {
       // ↓↓ココから処理を記述
       // ↑↑ココまで処理を記述
       // 親クラスのメソッドを実行
       $err = parent::delete($db, $deleteFiles, $topFlag);
       return DB_OK;
}
© 2017 SITE PUBLIS CO.,Ltd All right reserved.