이상한 젠드 프레임 워크 문제가 있습니다. 가능성이 가장 높지만 지금까지 해결할 수 없었습니다. 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>
. 내 jquery 설치 로컬 경로를 설정하는 시도했다. 차이 없음. 기본 경로는 google CDN에 대한 것이므로이를 시도해 보았습니다. 심지어 Google CDN을 명시 적으로 연결하려고했습니다. 이것은 명시 적으로 연결될 때 포함되지만, zend는 ajaxlinks에 대한 js를 생성하지 않습니다. js를 직접 작성할 수도 있지만 zend 라이브러리를 사용하는 목적을 무효화합니다. – madhouse
로드 된 뷰에서 jquery 헬퍼를 사용하자마자 jquery 링크가 출력 된 헤드에 에코됩니다. 내 데이터 표가로드됩니다. 그것은 작동합니다. 내 솔루션은 레이아웃 자체의 일부가 아닌 레이아웃에로드되는 내 ajaxLink로 채워진 부분 뷰를 만드는 것입니다. 이 이상한 ZF 특이성을 해결할 다른 방법이 있습니까? – madhouse
부분보기 도우미가 작동하지 않을 것입니다. ZF jQuery 도우미는 콘텐츠 뷰에서 직접 사용 된 경우에만 활성화됩니다. 이 문제를 해결할 방법이 있어야합니다. – madhouse