/** * Непосредственный поиск шаблонов вида * * @param Zend_Controller_Request_Abstract $request Объект запроса */ public function preDispatch(Zend_Controller_Request_Abstract $request) { $this->_view = Zend_Layout::startMvc()->getView(); $dirs = array(MODULES_PATH . DS . $this->_getModuleName(), HEAP_PATH . DS . $this->_getModuleName()); $inView = $this->_view->getScriptPaths(); foreach ($dirs as $dir) { self::addBasePath($dir); } }
/** * Prepare view to be used * * @return void */ private function _prepareView() { $defaultScriptPath = $this->getApplicationPath() . '/views/scripts/'; if (!in_array($defaultScriptPath, $this->view->getScriptPaths())) { $this->view->addScriptPath($defaultScriptPath); } $defaultHelperPath = $this->getApplicationPath() . '/views/helpers/'; if (!in_array($defaultHelperPath, $this->view->getHelperPaths())) { $this->view->addHelperPath($defaultHelperPath); } }
/** * @group ZF-9000 * @group ZF-4622 */ public function testAddingStreamSchemeAsScriptPathShouldNotMangleThePath() { $view = new Zend_View(); $path = rtrim('file://' . str_replace('\\', '/', realpath(dirname(__FILE__))), '/') . '/'; $view->addScriptPath($path); $paths = $view->getScriptPaths(); $this->assertContains($path, $paths, var_export($paths, 1)); }
protected function _testBasePath(Zend_View $view, $base, $classPrefix = null) { $scriptPaths = $view->getScriptPaths(); $helperPaths = $view->getHelperPaths(); $filterPaths = $view->getFilterPaths(); $this->assertContains($base . DIRECTORY_SEPARATOR . 'scripts' . DIRECTORY_SEPARATOR, $scriptPaths); $found = false; $prefix = false; foreach ($helperPaths as $path) { if ($path['dir'] == $base . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR) { $found = true; $prefix = $path['prefix']; break; } } $this->assertTrue($found, var_export($helperPaths, 1)); if (null !== $classPrefix) { $this->assertTrue($prefix !== false); $this->assertEquals($classPrefix . '_Helper_', $prefix); } $found = false; $prefix = false; foreach ($filterPaths as $path) { if ($path['dir'] == $base . DIRECTORY_SEPARATOR . 'filters' . DIRECTORY_SEPARATOR) { $found = true; $prefix = $path['prefix']; break; } } $this->assertTrue($found, var_export($filterPaths, 1)); if (null !== $classPrefix) { $this->assertTrue($prefix !== false); $this->assertEquals($classPrefix . '_Filter_', $prefix); } }
/** * @group ZF-9000 */ public function testAddingStreamSchemeAsScriptPathShouldNotReverseSlashesOnWindows() { if (false === strstr(strtolower(PHP_OS), 'windows')) { $this->markTestSkipped('Windows-only test'); } $view = new Zend_View(); $path = rtrim('file://' . str_replace('\\', '/', realpath(dirname(__FILE__))), '/') . '/'; $view->addScriptPath($path); $paths = $view->getScriptPaths(); $this->assertContains($path, $paths, var_export($paths, 1)); }
protected function _testBasePath(Zend_View $view, $base) { $scriptPaths = $view->getScriptPaths(); $helperPaths = $view->getHelperPaths(); $filterPaths = $view->getFilterPaths(); $this->assertContains($base . DIRECTORY_SEPARATOR . 'scripts' . DIRECTORY_SEPARATOR, $scriptPaths); $found = false; foreach ($helperPaths as $path) { if ($path['dir'] == $base . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR) { $found = true; break; } } $this->assertTrue($found, var_export($helperPaths, 1)); $found = false; foreach ($filterPaths as $path) { if ($path['dir'] == $base . DIRECTORY_SEPARATOR . 'filters' . DIRECTORY_SEPARATOR) { $found = true; break; } } $this->assertTrue($found, var_export($filterPaths, 1)); }
public function testSetConfigInConstructor() { $scriptPath = $this->normalizePath(dirname(__FILE__) . '/View/_templates/'); $helperPath = $this->normalizePath(dirname(__FILE__) . '/View/_stubs/HelperDir1/'); $filterPath = $this->normalizePath(dirname(__FILE__) . '/View/_stubs/HelperDir1/'); $config = array('escape' => 'strip_tags', 'encoding' => 'UTF-8', 'scriptPath' => $scriptPath, 'helperPath' => $helperPath, 'filterPath' => $filterPath, 'filter' => 'urlencode'); $view = new Zend_View($config); $scriptPaths = $view->getScriptPaths(); $helperPaths = $view->getHelperPaths(); $filterPaths = $view->getFilterPaths(); $this->assertContains($this->normalizePath($scriptPath), $scriptPaths); $found = false; foreach ($helperPaths as $pathInfo) { if (strstr($pathInfo['dir'], $helperPath)) { $found = true; } } $this->assertTrue($found, var_export($helperPaths, 1)); $found = false; foreach ($filterPaths as $pathInfo) { if (strstr($pathInfo['dir'], $filterPath)) { $found = true; } } $this->assertTrue($found, var_export($filterPaths, 1)); }
/** * Test that script paths are cleared following setScriptPath(null) call */ public function testClearScriptPath() { $view = new Zend_View(); // paths should be initially empty $this->assertSame(array(), $view->getScriptPaths()); // add a path $view->setScriptPath('foo'); $scriptPaths = $view->getScriptPaths(); $this->assertType('array', $scriptPaths); $this->assertEquals(1, count($scriptPaths)); // clear paths $view->setScriptPath(null); $this->assertSame(array(), $view->getScriptPaths()); }