Может кто-нибудь, пожалуйста, объясните эти две строки, используемые в файле макета CakePHP.ctp. Кажется, обе строки используются для добавления css. Тогда в чем разница? Как они работают.
$this->Html->css('cake.generic')
$this->fetch('css')
Может кто-нибудь, пожалуйста, объясните эти две строки, используемые в файле макета CakePHP.ctp. Кажется, обе строки используются для добавления css. Тогда в чем разница? Как они работают.
$this->Html->css('cake.generic')
$this->fetch('css')
См. документацию по использованию блоков для скриптов и файлов 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')
в файл макета перед вызовом блока гарантирует, что он будет добавлен, если он еще не включен в определенный вид.