2012-07-05 4 views
0

저는 제 젠드 프레임 워크 애플리케이션에서 JQuery Sortable을 작동 시키려고 노력했지만 제한된 성공을 거두었습니다. 나는 datepicker와 완벽하게 잘 작동하는 것과 같은 Jquery 기능의 대부분을 ZendX 라이브러리에서 사용하고있다. ZendX 라이브러리에서 지원되지 않는 정렬 기능을 제공하지 못하는 것 같습니다.젠드 프레임 워크 Jquery Sortable

코드의 경우.

protected function _initViewHelpers() 
    { 
     $view = new Zend_View();   
     $view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper'); 
     $view->jQuery()->setLocalPath('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js') 
         ->setUiLocalPath('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/jquery-ui.min.js') 
         ->addStylesheet('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/themes/smoothness/jquery-ui.css'); 
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer'); 
     $viewRenderer->setView($view); 
     Zend_Controller_Action_HelperBroker::addHelper($viewRenderer); 
    } 

내가 다음 echo $this->jQuery()->enable();

를 사용하여 레이아웃에 JQuery와 활성화 이제이는 날짜 선택기 작품 모두 잘 작동하고 그것은을 보여줍니다 useual에 따라 내 부트 스트랩에서 나는 JQuery와 등 도우미 경로를 정의 매끄러움 디자인은 등 의도 한대로

내 index.phtml에서 다음과 같이 지금은 간단한 정렬 스크립트 작은 목록을 구현합니다

<!DOCTYPE html> 
<html> 
<head> 

    <script> 
    $(document).ready(function() { 
    $("#sortable").sortable(); 
    }); 
    </script> 
</head> 
<body style="font-size:62.5%;"> 

<ul id="sortable"> 
<li>Item 1</li> 
<li>Item 2</li> 
<li>Item 3</li> 
<li>Item 4</li> 
<li>Item 5</li> 
</ul> 

</body> 
</html> 

이 작업을 수행 할 수있는 유일한 방법은 줄을 추가하는 것입니다.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/jquery-ui.min.js"></script> 

을 index.phtml에 추가하는 것입니다. 이것은 나에게 이것은 단지 그것이 우스꽝스럽게 보이는 것처럼 보인다. 부트 스트랩에서 이미이 스크립트를 추가해야합니다. 그래서 다시 정렬 작업을 수행해야하는 이유는 무엇입니까?

누구든지 내 문제의 해결책을 알고 있습니까?

어떤 조언을 부탁드립니다 :)

+0

당신이 내 대답에 투표시겠습니까 도움이 될 것이다 완벽하게 귀하의 requirments을 만족 –

답변

1

당신이 코드의 접근 방식 아래 보시기 바랍니다 수 : -이 그대로

protected function _initView() 
{ 
    $view = new Zend_View(); 
    $view->doctype('XHTML1_STRICT'); 
    $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8'); 
    $view->headTitle()->setSeparator(' - '); 
    $view->headTitle('IMR - BI System'); 
    $view->env = APPLICATION_ENV; 
    $view->baseUrl = Zend_Registry::get('config')->root_path; 

    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper"); 
    $view->jQuery()->addStylesheet('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/themes/smoothness/jquery-ui.css'); 
    $view->jQuery()->setLocalPath('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'); 
    $view->jQuery()->setUiLocalPath('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/jquery-ui.min.js'); 
    $view->jQuery()->enable(); 
    $view->jQuery()->uiEnable(); 
    $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(); 
    $viewRenderer->setView($view); 
    Zend_Controller_Action_HelperBroker::addHelper($viewRenderer); 

    return $view; 
} 

희망이 :)

+0

그럼 확실히 그 중 하나는 내가 꽤 heavely facepalm 그 순간이었습니다. 내가 누락 한 것은'JQuery-> uiEnable();이었습니다. 고마워! '$ view-> JQuery() -> enable();'의 목적에 대해 궁금합니다. 그것은보기에 jquery 사용할 수 있지만 그것을 사용하고 내 레이아웃에서 줄을 제거 할 나타냅니다, JQuery 완전히 작동을 멈 춥니 다. –

+0

enable() 함수는 jQuery Core Library를 활성화합니다. –