Если я вас правильно понимаю, вы хотите, чтобы JS был специфичен для загрузки страницы в заголовке при вызове определенного элемента, но чтобы JS мог отличаться для каждого элемента. Вы также хотите, чтобы на JS ссылались в начале вашего HTML-документа.
Это на самом деле довольно легко сделать. Просто убедитесь, что у вас есть <?php echo $scripts_for_layout; ?>
в вашем теге <head>
в используемом макете.
Затем внутри элемента просто выполните:
<?php $this->Html->script("js_file", array("inline"=>false)); ?>
js_file - это имя вашего файла JavaScript в app / webroot / js /. В этом случае файл будет называться js_file.js, но вы должны не указывать .js при ссылке на него, как указано выше.
Неважно, где вы находитесь в файле элемента, потому что часть "inline"=>false
гарантирует, что он фактически не появится на этом этапе в коде. Вместо этого он будет отображаться в <head>
везде, где вы положили <?php echo $scripts_for_layout; ?>
в макете.