ManagerManagerで、ヘルプをカスタマイズするときのTIPS

MODxでは、ManagerManagerを使うと、入力画面の入力項目のヘルプ(入力欄横の「?」ボタン)も変更することが可能ですが、このヘルプはJavaScriptを使って表示されるので、ちょっとしたコツのようなものがあります。

1.改行は入れない。入れるときは「\n」という文字を入れる。

JavaScriptでは、文字列の途中で改行することができません。(PHPではできますが)
ですので、文字列の途中で改行を入れたり、"\n"を入れたりしてはいけません。
代わりに、JavaScriptエスケープ文字が使えるので、'\n'という文字を入れておけば、JavaScriptの方で、改行に変換して表示してくれます。

mm_changeFieldHelp('longtitle',
'長いタイトルは、詳細画面で以下の箇所に表示されます。\n'
.'1)ブラウザに表示されるタイトル\n'
.'2)パンくずリンク\n'
.'3)ページ見出し'
);

2.ダブルクォーテーションもエスケープ

現在のMODxのリンク属性のヘルプは「target=“_blank”」と全角のダブルクォーテーションが入っていますので、これをそのままコピペしても正しく動きません。
かといって、普通に「target="_blank"」と入れて変更しても

target="_blank"

と、HTMLエンコードされてしまいます。
ここは、JavaScriptエスケープ文字を使って

target=\x22_blank\x22

とすればOKです。
「\x22」は「文字コードが22(16進)の文字」という意味になります。
ダブルクォーテーション「"」は、文字コード22(16進)なので、こうします。

3.PHPの設定情報も使える。

例えば、サイトURL($modx->config['site_url'])等、PHPの設定情報はそのまま使えます。
以下は、サイトURLとフレンドリーURLの接尾辞を使って、ドキュメントエイリアスのヘルプを具体的にした例です。

$site_url = $modx->config['site_url'];
$friendly_url_suffix = $modx->config['friendly_url_suffix'];
mm_changeFieldHelp('alias','ここで「abc」と入力すると、アドレスが「'.$site_url.'info/abc'.$friendly_url_suffix.'」になります。\n※アドレスが重複しないように注意してください。');