Getting the post, the right way
In the other post, I come up with a trick to call PreItem event to allow other installed plugins to process any skinvar might be in the data. There is still one problem that internal skinvar like <%image%>, <%popup%>, and etc are not resolve.
Here's the trick to do that, in a one stone for 2 birds fashion. The trick used PHP output buffer control function redirect the output mean for the broswer and capture it into a variable for our use.
example: getting contents of a post:
... ... (get blogid) ... $b =& $manager->getBlog($blogid); ... ... $extraQuery = ' and inumber=' . intval($itemid); $template = 'default'; ob_start(); $b->readLogAmount($tempalte, 1, $extraQuery, 0, 1, 0); $outbuf = ob_get_contents(); ob_end_clean();The contents of the post is in the $outbuf for your consumption.
My private Ajaxized Nuclues Plugin
Here's my note on how to add Ajax function to a Nucleus plugin. Ajax provides interaction to your web application (in our case, a blog) without reloading the whole web page. I think it is a very good mechanism to refresh just a small portions of your blog without clicking the reload button. NP_MiniForum is a good example.
There are 3 area of changes in order to add Ajax function to a Nucleus plugin:- Create function to insert XMLHttpRequest javascript
- Setup doSkinvar() with function to insert javascript and <div> block
- Add action to receive remote HTTP request