**/ ?>

自作-Tips

 

include once~ 、require once~ の代わりに XH_autoload() 関数を使おう

   解説)開発者ドキュメント クラスのオートローディング

 フォーム系には、$ _XH_csrfProtection を使う

送信側

<form action="..." method="post">
・・・・
<?php echo $_XH_csrfProtection->tokenInput();?>
</form>

受け側

if (isset($_POST['my_form'])) {
    $_XH_csrfProtection->check();
    // processing form submission
}


解説)開発者ドキュメント CSRF 攻撃からの保護  

 

基本設定($plugin_cf[”プラグイン名"]["パラメータ"] )の入力欄の種類を変える

  ※設定欄が、自由入力欄(text)だったり、プルダウンだったり・・

 config/metaconfig.php に $plugin_mcf[”プラグイン名"]["パラメータ"]="●●●●"; で記述する。
 ●●● は

  • string (text input)
  • text (textarea)
  • bool (checkbox)
  • enum (selectbox)
  • hidden (hidden)
  • password (text input) 

 サンプル: plugins/pagemanager/config/metaconfig.php を観ると

    <?php
    $plugin_mcf['pagemanager']['verbose']="bool";
    $plugin_mcf['pagemanager']['treeview_theme']="enum:cmsimple,apple";
    $plugin_mcf['pagemanager']['utf8_marker']="hidden";
    ?>

 

Jqueryの記述・・CMSimpleのお約束っぽい

 プラグインでjqueryを記述する場合、最も手っ取り早いのは

 トップ側(header側)で追加するなら 

$hjs .= "<script type="text/javascript" ・・・

  下側(footer 側)なら

$bjs .="<script type="text/javascript" ・・

なのですが、他のプラグイン等々で既に読み込んでる場合があり、多重読み込みの可能性もあります。

で、CMSimpleにはお決まりがありました。( plugins/jquery/help/help.htm )

  • include_jQuery($path = '')関数 
     Jqueryの読み込み 
    include_once($pth['folder']['plugins'].'jquery/jquery.inc.php');
    include_jQuery();
    ・読み込みが完了すると内部で define('JQUERY', TRUE) となる
    ・バージョンの指定等の細かい指定は出来ない・・Jqueryプラグインで設定されたバージョンが読み込まれる
    ・$hjs に追加
  • include_jQueryUI($path = '')関数 
     Jquery_UIの読み込み
    include_once($pth['folder']['plugins'] . 'jquery/jquery.inc.php');
    include_jQueryUI();
    ・読み込みが完了すると内部で define('JQUERY_UI', TRUE) となる
    ・バージョンの指定等の細かい指定は出来ない・・Jqueryプラグインで設定されたバージョンが読み込まれる
    ・$hjs に追加

  • include_jQueryPlugin($name = '', $path = '')
     個々のJqueryプラグインの読み込み
     下記は easing 、mousewheelのJqueryプラグイン例
    include_once($pth['folder']['plugins'] . 'jquery/jquery.inc.php');
    include_jQueryPlugin('easing',
        $pth['folder']['plugins'].'myplugin/jquery.easing-1.3.pack.js');
    include_jQueryPlugin('mousewheel',
        $pth['folder']['plugins'].'myplugin/jquery.mousewheel-3.0.4.pack.js');

    ・読み込みが完了すると 配列 $jQueryPlugins にeasing とmousewheel が記録される


Jqueryをテンプレートで読み込む場合

 基本的に プラグインの場合と同じ
  サンプル

<?php
    require_once $pth['folder']['plugins'].'jquery/jquery.inc.php';
    include_jQuery();
    include_jQueryPlugin('pjScrollUp', $pth['folder']['templateimages'].'jquery.pjScrollUp.min.js');
?>
<head ・・・

 また、CMSimple_XHのJqueryプラグインでJquery読み込みをAuto(自動)を前提とするなら、下記でアラートを出す方法もあります

<script> 
// Jqueryの jQuery をチェック
if (typeof jQuery == 'undefined') { 
alert ('Activate jQuery in CMSimple_XH Settings!');
}
</script>
</head>