Вопрос по php, javascript – лучший способ включить файл JS в Zend Framework

6

Я хочу включить внешний файл js в мой скрипт php. Я следую за Zend Framework. Прямо сейчас я добавляю js-файл в функцию init контроллера, как это.

public function init() {
    $this->doUserAuthorisation();
    parent::init();
    $this->view->headScript()->appendFile($this->view->baseUrl().'/js/front_cal/jquery-1.3.2.min.js');  
    $this->view->headLink()->setStylesheet($this->view->baseUrl().'/styles/front_cal/calendar.css');
}

проблема, с которой я сталкиваюсь, js-файл не включает. Это правильный способ включить js-файл?

Ваш Ответ

2   ответа
12

CSS, флэш-ролики и т. Д.) Относятся к слою представления, поэтому настройте их там.

Для глобально включенных файлов добавьте их в свой макет, например

<!-- layout.phtml -->
<head>
    <?php echo $this->headScript()->prependFile(
        $this->baseUrl('path/to/file.js')) ?>
    <?php echo $this->headLink()->prependStylesheet(
        $this->baseUrl('path/to/file.css')) ?>

<!-- snip -->

    <?php echo $this->inlineScript()->prependFile(
        'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js') ?>
</body>

Затем ваши скрипты вида могут добавлять ресурсы к помощникам, которые отображаются в макете. В качестве макета используетсяprepend*() методы, глобальные файлы будут отображаться в первую очередь, например,

<?php // views/scripts/index/index.phtml
$this->inlineScript()->appendFile($this->baseUrl('path/to/script.js'));
Error: User Rate Limit ExceededApplication\view\layout\layout.phtml
Error: User Rate Limit Exceeded
2

в шапку дважды. Там нет необходимостиecho перед звонкомprependFile, Такое поведение может привести к дублированию элементов управления JavaScript.

<!-- layout.phtml --> <head> <?php echo $this->headScript()->prependFile( $this->baseUrl('path/to/file.js')) // this will echo out the whole prependFile queue

Error: User Rate Limit Exceeded

Похожие вопросы