パラメーターでテンプレートを使用しない

MODxはドキュメント思考のCMSです。ヘッダーやフッターなどサイトに共通する部分は「テンプレート」にまとめ、ページ毎に異なる部分は「ドキュメント」と呼ばれ、表示時にテンプレートに埋め込んで表示されます。(私はXOOPSでいう「テーマ」という言い方のほうが好みです)

Ajaxを使ったサイトでは、あるページの一部分の内容をページ遷移せずに置き換えることが行われます。
この一部分をドキュメントとしたい場合はテンプレートが不要です。MODxではドキュメント毎にテンプレートを指定することができるので、これを「(blank)」と指定すればテンプレートで囲まれずに素のままのドキュメントが得られます。
実際は(blank)指定の場合はテンプレート機能をスキップするわけではなくて、内部的にヘッダー等がないテンプレートを疑似的に使用しているだけです。

ただ、ドキュメント思考のページの優れている点、URIリソースの考え方やSEO的にも、Ajax呼び出しの場合はblank、URLアドレス呼び出しの場合はテンプレートを適用としたいものです。例えばそのページだけにリンクを張りたい時もあります。 

POSTまたはGETでパラメーターを渡して、テンプレートを使用しないで表示するようにします。

manager/includes/document.parser.class.inc.php
1167行目あたりの

if (!$this->documentObject['template'])
$this->documentContent= "【*content*】"; // use blank template

がblank指定、疑似テンプレート回避をしている個所です。
このブロックの終端に次のコードを追加します。
if($_REQUEST['noTemplate'] == 'blank') $this->documentContent= "【*content*】";
これでGETかPOSTに「noTemplate=blank」とすると、強制的にblank指定と同じ動作をさせることができます。
(「【」と「】」は実際は「[」と「]」です) 

例:GETの場合は、
(ドキュメント).html?noTemplate=blank

Extのloadの場合は、
(element).load({url:(url),params:{noTemplate:'blank'}});

jQueryのajaxの場合は、

$.ajax({
  url: (url),
  dataType: 'html',
  data:{noTemplate:'blank'},
  success: function(html){
    (targetDIV).html(html);
  }
});