JBoostR wrote:Just wondering if anyone has mbBlog working on v0.7.5?
I installed it but when accessing the blog on the front end all I get is a blank page.
I set the option "Blog Path" to blog and then tried to access via www.myurl.com/blog but just get a blank page.
Tried setting debug on but I get nothing.
Anyone shed any light?
Thanks
Ian
Just installed WolfCMS and mbblog and have noticed the same problem. Makes WolfCMS as a whole pretty much useless for me, as I need a blogging platform and that seems to be the only one (I can't figure out a way to make WolfCMS on it's own act as a usable blog for many users)
Anyway, I investigated a little bit, and I found it seems that when the page is loaded. Here's what I have so far:
From main.php it runs:
if (Dispatcher::hasRoute($uri)) {
Observer::notify('dispatch_route_found', $uri);
Dispatcher::dispatch($uri);
exit;
}
with $uri equal to '/' ...which seems correct from my understanding.
From there dispatcher heads into:
// Is there a literal match? If so we're done
if (isset(self::$routes[$requested_url])) {
self::$params = self::splitUrl(self::$routes[$requested_url]);
return self::executeAction(self::getController(), self::getAction(), self::getParams());
}
which of course goes to executeAction, which gets to:
$controller->execute($action, $params);
where $action is 'mbblog' and params is a single element array, element 0 being 'index'
This then runs mbblog/MbblogController.php, which eventually runs it's 'index()' function, getting to this section of code at the end:
if(defined("CMS_BACKEND"))
{
$this->display('mbblog/views/admin/index', $this->mbvars);
} else
{
$this->executeFrontendLayout();
exit;
}
where it takes the second path (else), runs executeFrontendLayout, which gets to this if block:
if ($layout = $stmt->fetchObject()) {
// if content-type not set, we set html as default
if ($layout->content_type == '')
$layout->content_type = 'text/html';
// set content-type and charset of the page
header('Content-Type: '.$layout->content_type.'; charset=UTF-8');
// Provides compatibility with the Page class.
// TODO - cleaner way of doing multiple inheritance?
$this->url = CURRENT_URI;
// execute the layout code
eval('?>'.$layout->content);
}
which it skips because $layout is undefined...then it drops out of the function and exits.