示例#1
0
 /**
  * Непосредственный поиск шаблонов вида
  *
  * @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);
     }
 }
示例#2
0
文件: Mvc.php 项目: JellyBellyDev/zle
 /**
  * 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);
     }
 }
示例#3
0
 /**
  * @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));
 }
示例#4
0
    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);
        }
    }
示例#5
0
 /**
  * @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));
 }
示例#6
0
 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));
 }
示例#7
0
 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));
 }
示例#8
0
 /**
  * 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());
 }