Вот три разных способа сделать это.Мне было бы трудно назвать один из них более «правильным», чем другой.
Первый подход : Похоже, вы использовали page.xml
для добавления базовой библиотеки jQueryна вашу страницу.Если вы знаете, как это сделать, вы можете добавить что-то вроде
<action method="addJs"><script>path/to/my/file.js</script></action>
ниже действия, которое вы добавили для jQuery.Затем поместите свой код в файл file.js, который в конечном итоге будет связан в вашей голове.
Второй подход : если вы посмотрите на класс Block для головы, вы увидите, где находитсяфайл шаблона установлен.
app/code/core/Mage/Page/Block/Html/Head.php
...
protected function _construct()
{
$this->setTemplate('page/html/head.phtml');
}
Найдите page/html/head.phtml
в своей теме и добавьте код непосредственно в page.html
.
Третий подход : Если вы посмотрите на упомянутую выше акцию page.html
, вы увидите эту строку
<?php echo $this->getChildHtml() ?>
Обычно метод getChildHtml
используется для визуализации определенного дочернего блока.Однако, если вызывается без параметра, getChildHtml
автоматически отобразит все дочерние блоки.Это означает, что вы можете добавить что-то вроде
<!-- existing line --> <block type="page/html_head" name="head" as="head">
<!-- new sub-block you're adding --> <block type="core/template" name="stackoverflow" as="stackoverflow" template="page/stackoverflow.phtml"/>
...
в page.xml, а затем добавить файл stackoverflow.phtml
.Любой блок, добавленный в головной блок, будет автоматически обработан.(этот автоматический рендеринг не применяется для всех блоков макета, только для блоков, где getChildHtml
вызывается без параметров)
Ваш файл phtml не обязательно должен быть в page/
, вы можете разместить его где угоднов структуре папок шаблона вашей темы.Файл stackoverflow.phtml
будет содержать JavaScript, который вы хотите добавить в заголовок
<script type="text/javascript">
alert("Test");
</script>