On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • /*
     *   OnTempFormRender にチェックを入れる
     */
    
    $e = & $modx->Event;
    switch ($e->name)
    {
    	case 'OnTempFormRender':
    	$str  = '<div class="tab-page" id="tabReference">' . PHP_EOL;
    	$str .= '<h2 class="tab">リファレンス</h2>' . PHP_EOL;
    	$str .= '<script type="text/javascript">tpResources.addTabPage( document.getElementById( "tabReference" ) );</script>' . PHP_EOL;
    
    	$str .= '<div class="sectionHeader">利用できるサイト変数</div>' . PHP_EOL;
    	$str .= '<div class="sectionBody">' . PHP_EOL;
    	$str .= '[(base_path)] ';
    	$str .= '<b>[(base_url)]</b> ';
    	$str .= '[(blocked_minutes)] ';
    	$str .= '[(default_template)] ';
    	$str .= '<b>[(emailsender)]</b> ';
    	$str .= '[(emailsubject)] ';
    	$str .= '[(error_page)] ';
    	$str .= '[(failed_login_attempts)] ';
    	$str .= '[(friendly_alias_urls)] ';
    	$str .= '[(friendly_url_prefix)] ';
    	$str .= '[(friendly_url_suffix)] ';
    	$str .= '[(friendly_urls)] ';
    	$str .= '[(login_home)] ';
    	$str .= '[(mailto)] ';
    	$str .= '[(manager_direction)] ';
    	$str .= '[(manager_lang_attribute)] ';
    	$str .= '[(manager_language)] ';
    	$str .= '[(manager_theme)] ';
    	$str .= '[(modx_charset)] ';
    	$str .= '[(publish_default)] ';
    	$str .= '[(server_offset_time)] ';
    	$str .= '[(session.cookie.lifetime)] ';
    	$str .= '[(site_id)] ';
    	$str .= '<b>[(site_name)]</b> ';
    	$str .= '[(site_start)] ';
    	$str .= '[(site_status)] ';
    	$str .= '<b>[(site_unavailable_message)]</b> ';
    	$str .= '[(site_unavailable_page)] ';
    	$str .= '<b>[(site_url)]</b> ';
    	$str .= '[(track_visitors)] ';
    	$str .= '[(tree_show_protected)] ';
    	$str .= '[(unauthorized_page)] ';
    	$str .= '[(use_alias_path)] ';
    	$str .= '[(use_browser)] ';
    	$str .= '[(use_captcha)] ';
    	$str .= '[(use_editor)] ';
    	$str .= '[(use_udperms)] ';
    	$str .= '[(validate_referer)] ';
    	$str .= '[(webpwdreminder_message)] ';
    	$str .= '[(websignupemail_message)] ';
    	$str .= '[(which_editor)] ';
    	$str .= '[(xhtml_urls)] ';
    	$str .= '</div>' . PHP_EOL;
    
    	$str .= '<div class="sectionHeader">利用できるドキュメント変数</div>' . PHP_EOL;
    	$str .= '<div class="sectionBody">' . PHP_EOL;
    	$str .= '[*id*] ';
    	$str .= '[*type*] ';
    	$str .= '[*contentType*] ';
    	$str .= '<b>[*pagetitle*]</b>(ドキュメント名) ';
    	$str .= '<b>[*longtitle*]</b> ';
    	$str .= '<b>[*description*]</b>(metaタグなどに使う) ';
    	$str .= '[*alias*] ';
    	$str .= '[*link_attributes*] ';
    	$str .= '[*published*] ';
    	$str .= '[*pub_date*] ';
    	$str .= '[*unpub_date*] ';
    	$str .= '[*parent*] ';
    	$str .= '[*isfolder*] ';
    	$str .= '[*introtext*] ';
    	$str .= '<b>[*content*]</b>(本文。これがメイン) ';
    	$str .= '[*richtext*] ';
    	$str .= '[*template*] ';
    	$str .= '[*menuindex*] ';
    	$str .= '[*searchable*] ';
    	$str .= '[*cacheable*] ';
    	$str .= '[*createdby*] ';
    	$str .= '[*createdon*] ';
    	$str .= '[*editedby*] ';
    	$str .= '[*editedon*] ';
    	$str .= '[*deleted*] ';
    	$str .= '[*deletedon*] ';
    	$str .= '[*deletedby*] ';
    	$str .= '[*publishedon*] ';
    	$str .= '[*publishedby*] ';
    	$str .= '<b>[*menutitle*]</b> ';
    	$str .= '[*donthit*] ';
    	$str .= '[*haskeywords*] ';
    	$str .= '[*hasmetatags*] ';
    	$str .= '[*privateweb*] ';
    	$str .= '[*privatemgr*] ';
    	$str .= '[*content_dispo*] ';
    	$str .= '[*hidemenu*] ';
    	$str .= '</div>' . PHP_EOL;
    	
    	$str .= '<div class="sectionHeader">ベンチマークタグ</div>' . PHP_EOL;
    	$str .= '<div class="sectionBody">' . PHP_EOL;
    	$str .= '<ul>' . PHP_EOL;
    	$str .= '<li>[^qt^] データベースに対するクエリーのやりとりに要した時間の合計秒数' . '</li>' . PHP_EOL;
    	$str .= '<li>[^q^] クエリー発行回数' . '</li>' . PHP_EOL;
    	$str .= '<li>[^p^] ページのパースにかかった秒数(PHP展開部分)' . '</li>' . PHP_EOL;
    	$str .= '<li>[^t^] クエリー所要時間とPHP実行時間の合計秒数 ([^qt^] + [^p^])' . '</li>' . PHP_EOL;
    	$str .= '<li>[^s^] このページがキャッシュ出力されているかどうか' . '</li>' . PHP_EOL;
    	$str .= '</ul>' . PHP_EOL;
    	$str .= '</div>' . PHP_EOL;
    	$str .= '</div>' . PHP_EOL;
    	break;
    }
    
    $e->output($str);


    たいしたものでもないので雑ネタ扱いで貼り付けときます。実際には使わない変数がほとんどですね。スニペットを書く時はいろいろ使いますが。
    • [(hoge)]の括弧付きの殆どがグローバル設定値ですね。
      [(base_hoge)]などはよく使いますしその他の項目の内容もおおよそ察しはつくのですが、正確なスペルはまったく知りませんでした。グローバル設定の値が必要な処理は、条件分岐やループといった制御系記述が多くなるため、自然とスニペにしてPHPで書いてしまうのですが、今後はphxと絡めてチャンクでトライしてみたいです。

      phxの条件分岐記述が、C言語やPHPのように複数行に分けて綺麗に記述できれば保守が楽になるので、プログラミングの苦手な人も多機能なサイトが構築しやすくなりますね。

      ※こういう発想でyamaさんリソースの複数行入力対応にチャレンジしてたんですか? だとしたら、超~アリアリ。