2011-03-27 4 views
0

이상한 젠드 프레임 워크 문제가 있습니다. 가능성이 가장 높지만 지금까지 해결할 수 없었습니다. stackOverflow 및 다른 커뮤니티 사이트의 하단뿐만 아니라 젠드 문서를 긁어 냈습니다.젠드 프레임 워크 AjaxLink 완료 실패

내 레이아웃에 포함시키는 모든 ajaxLink가 작동하지 않습니다. 그들은 href 속성에 해시 자리 표시자를 사용하여 제대로 분류되지만 링크를 활성화하는 자바 스크립트는 페이지에 포함되지 않습니다.

echo $this->jQuery; 레이아웃에도 오류가 있습니다. ajaxLink 실패의 원인 일 수 있습니다. 부트 스트랩에 jQuery 뷰 도우미를 올바르게 추가하고 있는지 확인했습니다. ZendX_JQuery::enableView($view);$view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper"); 방법을 모두 사용해 보았습니다. 관련 파일에서 미리

발췌에서

감사는 다음과 같습니다

bootstrap.php :

protected function _initViewHelpers() 
    { 
     $this->bootstrap('layout'); 
     $layout = $this->getResource('layout'); 
     $view = $layout->getView(); 

       $view->doctype('HTML4_STRICT'); 
     $view->headMeta()->appendHttpEquiv('Content-type', 'text/html;charset=utf-8') 
         ->appendName('description', 'Business Club'); 
     $view->headTitle()->setSeparator(' - '); 
     $view->headTitle('SOU Business Club'); 

     $view->setHelperPath(APPLICATION_PATH.'/views/helpers', ''); 
      ZendX_JQuery::enableView($view); 
    } 

dashboardLayout.phtml :

<?php echo $this->doctype();?> 
<html> 
<head> 
<?php echo $this->headTitle();?> 
<?php echo $this->headMeta();?> 
<?php 
    echo $this->headLink()->prependStylesheet($this->baseUrl().'/css/dashboardStyle.css'); 
    echo $this->headLink()->prependStylesheet($this->baseUrl().'/js/jquery/css/smoothness/jquery-ui-1.8.11.custom.css'); 
?> 
<?php 
    echo $this->headScript()->appendFile($this->baseUrl().'/js/paginator.js'); 
    echo $this->jQuery(); 
?> 
</head> 
<body id="body"> 
<div id="wrapper"> 
<div><?php include "dashboardHeader.phtml"; ?></div> 
<div id="bar"> 
<a href="<?php echo $this->url(array('controller'=>'dashboard', 'action'=>'home'))?>">Dashboard Home</a>| 
<?php 
echo $this->ajaxLink('Club Roster | ', 
     'user/index', 
     array('update' => '#content', 
      'method' => 'post'), 
     array('format' => 'html') 
    ); 
?> 
<a href="<?php echo $this->url(array('controller'=>'gdata', 'action'=>'index'))?>">Google Docs</a>| 
<a href="<?php echo $this->url(array('controller'=>'books', 'action'=>'index'))?>">Book Sale Management</a>| 
</div> 
<div id="content" align="center"> 
<?php 
    echo $this->layout()->content; 
?> 
</div> 
<div id="statusBar"> 
<?php 
    $userData = Zend_Registry::get('userData'); 
    $name = $userData->name; 
    $role = $userData->role; 
    $status = 'Logged in as: '.' Name: '.$name.' Role: '.$role; 

echo $status; 
?> 
<br /> 
<a href="<?php echo $this->url(array('controller'=>'authentication', 'action'=>'logout'))?>">Logout</a> 
</div> 
<div><?php include "dashboardFooter.phtml"; ?></div> 
</div> 
</body> 
</html> 

HTML <head> 출력 :

<head> 
<title>SOU Business Club - Member Dashboard</title> 
<meta http-equiv="Content-type" content="text/html;charset=utf-8" > 
<meta name="description" content="Business Club" > 
<link href="/css/dashboardStyle.css" media="screen" rel="stylesheet" type="text/css" > 
<link href="/js/jquery/css/smoothness/jquery-ui-1.8.11.custom.css" media="screen" rel="stylesheet" type="text/css" > 
<link href="/css/dashboardStyle.css" media="screen" rel="stylesheet" type="text/css" > 
<script type="text/javascript" src="/js/paginator.js"></script> 
</head> 

답변

0

부트 스트랩에서 로컬 시스템 또는 CDN에서 jQuery의 위치를 ​​지정해야합니다.

$view->jQuery()->setLocalPath(PATH); 

을 또는 당신은 구글의 같은 CDN을 사용할 수 있습니다 : 로컬로 사용 http://code.google.com/apis/libraries/devguide.html#jquery

+0

. 내 jquery 설치 로컬 경로를 설정하는 시도했다. 차이 없음. 기본 경로는 google CDN에 대한 것이므로이를 시도해 보았습니다. 심지어 Google CDN을 명시 적으로 연결하려고했습니다. 이것은 명시 적으로 연결될 때 포함되지만, zend는 ajaxlinks에 대한 js를 생성하지 않습니다. js를 직접 작성할 수도 있지만 zend 라이브러리를 사용하는 목적을 무효화합니다. – madhouse

+0

로드 된 뷰에서 jquery 헬퍼를 사용하자마자 jquery 링크가 출력 된 헤드에 에코됩니다. 내 데이터 표가로드됩니다. 그것은 작동합니다. 내 솔루션은 레이아웃 자체의 일부가 아닌 레이아웃에로드되는 내 ajaxLink로 채워진 부분 뷰를 만드는 것입니다. 이 이상한 ZF 특이성을 해결할 다른 방법이 있습니까? – madhouse

+0

부분보기 도우미가 작동하지 않을 것입니다. ZF jQuery 도우미는 콘텐츠 뷰에서 직접 사용 된 경우에만 활성화됩니다. 이 문제를 해결할 방법이 있어야합니다. – madhouse