2010-09-24 3 views
2

Так что это мой проект структура каталогов:Частичных ошибочный макет

application/ 
    layouts/ 
     scripts/ 
      default.phtml 
      partials/ 
       partial.phtml 
modules/ 
    default/ 
     controllers/ 
     models/ 
     forms/ 
     views/ 
      scripts/ 
public/ 

В default.phtml layotu я пытаюсь включить частично, как это:

<?php echo $this->partial('partials/partial.phtml', array()); ?> 

Который получает меня эта ошибка:

script 'partials/partial.phtml' not found in path (...) 

Означает ли это, что частичные могут быть включены только из сценариев просмотра? Я мог бы поместить частично внутри модулей/default/views, но это кажется неправильным, потому что в случае, если есть больше модулей, один и тот же частичный файл будет повторяться несколько раз.

ответ

3

частичные файлы будут загружены из каталога views/scripts не из каталога layouts/scripts, а также при вызове из макета viewcriopt.

Если вам действительно нужно иметь частичные части в папке макета, вам нужно настроить новый объект вида с помощью scriptPath, указывающий на ваш макет/скрипты. вместо этого вы можете найти существующий объект вида в внутренних структурах макета, у которого уже установлен этот путь.

затем просто вызовите частичный viewhelper на этом объекте вида.

+0

Я не вижу версию ZF здесь, но в ZF 1.11 ваше решение не будет работать. В моем случае, когда я хотел использовать partials в LAYOUT, мне пришлось создать структуру каталогов в 'layout/scripts /'. – xyz

Смежные вопросы