Dear All
I currently trying to get a view helper to work and as soon as i
include a custom view helper in a view using <?= $this-
>MyNewViewHelper ?>
the resulting rendered view is empty/blank. I would really appreciate
if someone could shed some light on what i am doing wrong as I have
tried
to use v1.53, v1.6 RC1 and standard\branches\release-1.6. of the
framework and I can t get any to work and no errors show up in the
apache or php log.
with regards
Bram
i am currently utilizing the following project layout on OS X 10.5.4
using xampp 0.7.2 with /path/to/php, /path/to/pear, /path/to/Library
and /path/to/application as included folders
htdocs
|-> index.php
<index.php>
require_once('Zend/Loader.php');
Zend_Loader::registerAutoload();
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new core_Initialize());
$front->dispatch();
</index.php>
Library
|->Zend
application
|->modules
|->default
|->controllers
|->IndexController.php
|->models
|->views
|>scripts
|->index
|->index.phtml
|->core
|->config
|->tmp
|->logs
|->Acl
|->Plugin
|->Helper
|>View
|-> MyNewViewHelper.php
|->Theme
|->layout.phtml
|->initialize.php
<IndexContolller.php>
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
$this->view->headTitle('Dashboard');
}
}
</IndexContolller.php>
<index.phtml>
<h2>hello world</h2>
</index.phtml>
<layout.phtml>
<?= $this->headTitle() ?>
<?= $this->MyNewViewHelper() ?>
<?= $this->layout()->content ?>
</layout.phtml>
<MyNewViewHelper.php> (which is a copy of Zend_View_Helper_Url)
class core_Helper_View_MyNewViewHelper {
public function url(array $urlOptions = array(), $name = null,
$reset = false, $encode = true)
{
$router = Zend_Controller_Front::getInstance()->getRouter();
return $router->assemble($urlOptions, $name, $reset, $encode);
}
}
</MyNewViewHelper.php>
<part of initialize.php>
$this->_root = realpath(dirname(__FILE__) . '/../../');
public function routeStartup()
{
$this->initHelpers();
$this->initView();
$this->initControllers();
$this->_front->throwExceptions(false);
}
public function initHelpers()
{
Zend_Controller_Action_HelperBroker::addPrefix('core_Helper_View');
}
public function initView()
{
// Setup View
$view = new Zend_View();
// Set view in ViewRenderer
$viewRenderer =
Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$viewRenderer->setView($view);
Zend_Layout::startMvc($this->_root . '/application/core/
Theme');
$request = Zend_Controller_Front::getInstance()->getRequest();
}
public function initControllers()
{
$this->_front->addModuleDirectory($this->_root . '/
application/modules/');
}
</part of initialize.php>