CakePHP: разница между $this-›fetch('css') и $this-›Html-›css('cake.generic') в Cake php

Может кто-нибудь, пожалуйста, объясните эти две строки, используемые в файле макета CakePHP.ctp. Кажется, обе строки используются для добавления css. Тогда в чем разница? Как они работают.

 $this->Html->css('cake.generic')
 $this->fetch('css') 

person Asfaq Tamim    schedule 19.12.2013    source источник


Ответы (1)


См. документацию по использованию блоков для скриптов и файлов CSS< /а>.

В своих представлениях вы можете использовать: $this->Html->css('cake.generic')

В макетах вы можете использовать: $this->fetch('css')

Макет содержит код представления, который охватывает представление. Все, что вы хотите видеть во всех своих представлениях, должно быть размещено в макете.

Это означает, что при определении вашего макета использование $this->fetch('css') добавит любые css блоки, используемые в ваших представлениях, поэтому, если в ваших представлениях вы поместите оба:

$this->Html->css('cake.generic') $this->Html->css('cake.special')

Использование $this->fetch('css') в вашем макете будет включать и то, и другое. Обратите внимание, что без предварительного определения содержимого блока он ничего не вызовет. Добавление $this->Html->css('cake.generic') в файл макета перед вызовом блока гарантирует, что он будет добавлен, если он еще не включен в определенный вид.

person SW4    schedule 19.12.2013