I'm writing this to present a couple of features that will be in v404. I can't give you a date when this will be available because I don't have one. I'm expecting it will be fairly soon. The new features I'm talking about are two new content types- Static Page and PHP Evaluation. There have been a number of requests for both of these. I'm posting this in advance of the release so people can start thinking about how they would use this.

Static Page is fairly straightforward. You can enter any raw HTML for the page content, any raw HTML for the preview, and a link for a preview image. This is all totally open- you type anything you want in here. That obviously makes it really easy for anyone to break the page to do bad things, so we require HTML CMS permissions to create or edit one of these. Otherwise I can't think of much to say.

PHP Eval is far more complex, and the primary point of the discussion. This makes it relatively easy to do some cool stuff. I took my example from the post at http://www.vbulletin.com/forum/showt...tion-wise-quot. This requires some PHP code and two templates. Well, that's not the only way but I think it's the most straightforward. See the attachment for the details.

The challenge here is debugging. If you are going to write your own pages of this type you really need an offline development environment. When I was creating the specific summary page php content, I found that if I had two of these I created an interesting infinite-recursion loop. Page A needs the results of page B and can't return until it gets it, and page B needs the results of page A and can't return until it gets it. You don't want to discover this on your live site. If you have two of these, don't set "Display Full Article in Section Page" for either of them!

Another interesting use of this type would be to display the contents of a widget on a page. I've read several posts by people who want to render only the contents of an existing widget on a page. Here's the code to display a calendar widget as the primary page content:
$widget = vBCms_Widget::create('vBCms', 'Calendar', 8);

$output = $widget ->getPageView()->render();

Note that you have to know the parameters for the widget- package, class, and widgetid. My id is 8 - yours is likely to be something different.

For those of you who program PHP, this should give you some significant new options. For those of you who don't, I would hope and expect there will some interesting new page types on vBulletin.org.