Just thought I'd post a slightly different version of this resource in case anyone else finds it useful. I use it as a snippet instead of a plugin (since I only needed to paginate a few documents). Place the snippet call in place of [*content*] in your template to use it this way.
I also added links to each individual page instead of just Previous and Next.
Very minor changes, but maybe someone will use them...
<?php
$delimiter = '{BREAK}';
$tplLinkNext = ' <a href="[+link+]">Next</a>';
$tplLinkPrev = '<a href="[+link+]">Previous</a> ';
$tplLinkNav = '
<div style="margin:10px auto;width:100%;text-align:center;"><p>Page [+current+] of [+total+]<br />
[+linkprev+] [+pagelinks+] [+linknext+]</p></div>
';
$pip_content = $modx->documentObject['content'];
$pip_pagecontent = explode($delimiter,$pip_content);
$pip_pagecount = count($pip_pagecontent);
if ($pip_pagecount > 1){
$pip_currentpage = isset($_GET["page"]) ? $_GET["page"]: 1;
if ($pip_currentpage > $pip_pagecount || $pip_currentpage < 1) { $pip_currentpage = 1; }
$char = ($modx->config['friendly_urls'] == 0) ? "&" : "?";
$url = $modx->makeurl($modx->documentObject["id"],'',$char.'page=');
$prevpage = $pip_currentpage-1;
$nextpage = $pip_currentpage+1;
$linkprev = ($prevpage>0) ? str_replace("[+link+]",$url.$prevpage,$tplLinkPrev) : '';
$linknext = ($nextpage>$pip_pagecount) ? '' : str_replace("[+link+]",$url.$nextpage,$tplLinkNext);
$pagelinks='';
for($i=1;$i<=$pip_pagecount;$i++){
if($i==$pip_currentpage) $pagelinks.=' [ '.$i.' ] ';
else $pagelinks.=' <a href="'.$url.$i.'">'.$i.'</a> ';
}
$pip_template = str_replace("[+linkprev+]",$linkprev,$tplLinkNav);
$pip_template = str_replace("[+linknext+]",$linknext,$pip_template);
$pip_template = str_replace("[+total+]",$pip_pagecount,$pip_template);
$pip_template = str_replace("[+current+]",$pip_currentpage,$pip_template);
$pip_template = str_replace("[+pagelinks+]",$pagelinks,$pip_template);
$pip_content=$pip_template.$pip_pagecontent[$pip_currentpage-1].$pip_template;
}
return $pip_content;
?>