Я чувствую необходимость позволить кнопке браузера вернуться к работе, а также позволить пользователям добавлять в закладки то, что они видят.
Я не универсален на маршрутах Zend, но пока не могу это изменить.
Это подход к реализации ajax, который я использую:
class TestController extends Zend_Controller_Action {
public function init()
{
/* Initialize action controller here */
if ($this->getRequest()->isXMLHttpRequest()) {
$this->_helper->layout()->setLayout('blank');
$logger = $this->getInvokeArg('bootstrap')->getResource('Log');
$logger->debug('AJAX Call');
}
}
public function indexAction()
{
// render the default page
}
public function somethingelseAction()
{
// do something else render something.
}
}
Сделайте мой первоначальный просмотр визуализации с целевым div, а также некоторыми ссылками ... Вот мой index.phtml:
<h1>Tests...</h1>
<a class="ajaxloader"
href="<?php echo $this->url(array('controller'=> 'test', 'action' => 'speed'), null, true);?>">Speed</a>
<a class="ajaxloader"
href="<?php echo $this->url(array('controller'=> 'test', 'action' => 'somethingelse'), null, true);?>">Something Else</a>
<div id="testresults">
<h1>Default stuff to show.</h1>
</div>
Некоторый код jQuery для присоединения к этим ссылкам 'ajaxloader' и нацеливания результатов на div 'testresults'.
$(function() {
$('.ajaxloader').click(function(event) {
var target = $(this).attr('href');
window.location.hash = target;
$('#testresults').fadeOut('slow', function() {
// complete fadeout, load new content while it's hiding!
$.ajax( {
url : target,
success : function(data) {
$('#testresults').html(data);
$('#testresults').fadeIn();
}
});
});
return false;
})
});
Как здесь можно реализовать глубокую ссылку?
Большое спасибо,
MEM
PS - Хорошие кредиты за эту реализацию достаются Дэррилу Кларку.
Я могу взять плохих.