Проблема интеграции jQuery в Zend Studio / Framework - PullRequest
0 голосов
/ 08 февраля 2010

Я изо всех сил пытаюсь создать простое приложение на основе 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>

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

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

TTP: //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.

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

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

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

С уважением.

1 Ответ

0 голосов
/ 08 февраля 2010

<?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');

до

$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 UI.

...