Проблема интеграции jQuery в Zend Studio/Framework

Я изо всех сил пытаюсь создать простое приложение Zend Framework, которое может вызывать jQuery. Итак, что я работаю в Zend Studio 7.1.1, где я добавил в папку библиотеки папку «ZendX». И я также загрузил тему легкости jQuery, которая была добавлена ​​​​в общую папку «js».

Вы обнаружите, что вся структура выглядит следующим образом: http://www.freeimagehosting.net/image.php?b95bca6dab.png Итак, что я сделал: 1- Добавил следующие строки в файл Bootstrap.php, чтобы получить следующее содержимое:

<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{


}
Zend_Loader::registerAutoload();
$view= new Zend_View();
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
$view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
$viewRenderer->setView($view);
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
$view->jQuery()->addStylesheet('/js/jquery/css/ui-lightness/jquery-ui-1.7.2.custom.css')
        ->setLocalPath('/js/jquery/js/jquery-1.3.2.min.js')
        ->setUiLocalPath('/js/jquery/js/jquery-ui-1.7.2.custom.min.js');

Затем, поскольку я не использую макеты, я напрямую добавил средство выбора даты в файл index.phtml с $view->jQuery() и $view->jQuery(), даже если при вводе $view-> система Zend Studio intellisense не предлагает функцию jQuery(). Во всяком случае, файл index.phtml:

<style>
    a:link,
    a:visited
    {
        color: #0398CA;
    }

    span#zf-name
    {
        color: #91BE3F;
    }

    div#welcome
    {
        color: #FFFFFF;
        background-image: url(http://framework.zend.com/images/bkg_header.jpg);
        width:  600px;
        height: 400px;
        border: 2px solid #444444;
        overflow: hidden;
        text-align: center;
    }

    div#more-information
    {
        background-image: url(http://framework.zend.com/images/bkg_body-bottom.gif);
        height: 100%;
    }
</style>
<div id="welcome">
    <h1>Welcome to the <span id="zf-name">Zend Framework!</span></h1>

    <h3>This is your project's main page</h3>

<?php echo $this->headScript(); ?>
<?php echo $this->jQuery()->uiEnable();?>
<?php echo $this->jQuery(); ?>
<form id='ok'>
Pick your Date: <?php echo $this->datePicker('dp1', '', array('defaultDate' => date('Y/m/d', time()))); ?>
</form>
    <div id="more-information">
        <p><img src="http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png" /></p>
        <p>
            Helpful Links: <br />
            <a href="http://framework.zend.com/">Zend Framework Website</a> |
            <a href="http://framework.zend.com/manual/en/">Zend Framework Manual</a>
        </p>
    </div>
</div>

Но ничего не работает!

Я получаю следующий вывод:

http://www.freeimagehosting.net/uploads/7ed0166140.png

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

И для исходной страницы (index.phtml):

<style> 
    a:link,
    a:visited
    {
        color: #0398CA;
    }

    span#zf-name
    {
        color: #91BE3F;
    }

    div#welcome
    {
        color: #FFFFFF;
        background-image: url(http://framework.zend.com/images/bkg_header.jpg);
        width:  600px;
        height: 400px;
        border: 2px solid #444444;
        overflow: hidden;
        text-align: center;
    }

    div#more-information
    {
        background-image: url(http://framework.zend.com/images/bkg_body-bottom.gif);
        height: 100%;
    }
</style> 
<div id="welcome"> 
    <h1>Welcome to the <span id="zf-name">Zend Framework!</span></h1> 

    <h3>This is your project's main page</h3> 


<link rel="stylesheet" href="../public/js/jquery/css/ui-lightness/jquery-ui-1.7.2.custom.css" type="text/css" media="screen"> 

<script type="text/javascript" src="../public/js/jquery/js/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="../public/js/jquery/js/jquery-ui-1.7.2.custom.min.js"></script> 

<form id='ok'> 
Pick your Date: <input type="text" name="dp1" id="dp1" value=""></form> 
    <div id="more-information"> 
        <p><img src="http://framework.zend.com/images/PoweredBy_ZF_4LightBG.png" /></p> 
        <p> 
            Helpful Links: <br /> 
            <a href="http://framework.zend.com/">Zend Framework Website</a> |
            <a href="http://framework.zend.com/manual/en/">Zend Framework Manual</a> 
        </p> 
    </div> 
</div>

Я действительно пробовал много комбинаций, но никак не мог понять это! Если бы также попытались найти видео, показывающее точно, шаг за шагом, как интегрировать jQuery в Zend.

Что не так в коде?

Если вы можете мне помочь, я был бы очень признателен!

Большое спасибо,

С уважением.


person Zakaria    schedule 08.02.2010    source источник
comment
@Zakaria: вы получаете сообщения об ошибках, как выводятся $this->jQuery() и $this->datepicker(...)   -  person RageZ    schedule 08.02.2010
comment
@RageZ: я поместил вывод с исходным кодом индекса. С Уважением.   -  person Zakaria    schedule 08.02.2010


Ответы (1)


<?php $this->jQuery->enable;?> должен быть enable() и находиться в контроллере/бутстрапе.


Если вы хотите добавить jQuery на все страницы, я бы изменил

$view->jQuery()->addStylesheet('/js/jquery/css/ui-lightness/jquery-ui-1.7.2.custom.css')
    ->setLocalPath('/js/jquery/js/jquery-1.3.2.min.js')
    ->setUiLocalPath('/js/jquery/js/jquery-ui-1.7.2.custom.min.js');

to

$view->jQuery()->addStylesheet('/js/jquery/css/ui-lightness/jquery-ui-1.7.2.custom.css')
    ->setLocalPath('/js/jquery/js/jquery-1.3.2.min.js')
    ->setUiLocalPath('/js/jquery/js/jquery-ui-1.7.2.custom.min.js')
    ->enable()
    ->enableUi();

, в противном случае вам вообще не нужно его включать, так как вызов помощника, такого как datePicker(), автоматически включает jQuery и пользовательский интерфейс jQuery на вашей странице.

person chelmertz    schedule 08.02.2010
comment
Спасибо за ваши инструкции. Как видите, я обновил тему, чтобы учесть ваши изменения. Теперь он включает файлы CSS и JS с правильным путем, но средство выбора даты не появляется, а с помощью консоли ошибок Firefox ошибки не возникают. Так хорошо включает, но ничего не работает. С Уважением. - person Zakaria; 08.02.2010
comment
Я загрузил свой полный проект с библиотеками Zend и ZendX по этому адресу: jump.fm/ABPFJ Чтобы загрузить, просто перейдите в раздел «Сохранить файл на свой компьютер». С Уважением - person Zakaria; 08.02.2010
comment
Разве это не должно быть -›uiEnable(); вместо -›enableUi в ответе Челмерца? - person ; 13.01.2011