Я пытаюсь кодировать сайт Cake в JQM, но всякий раз, когда я нажимаю на ссылку, экран переходит на страницу, содержащую только слово «Undefined».
Изучение источника показывает, что есть новый div с data-role = "page", который содержит это слово, и что исходное содержимое моей старой страницы осталось без изменений.
Это мой макет для мобильного просмотра:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title><?php echo (isset($title_for_layout)) ? $title_for_layout : 'My default title';?></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php
// javascript
$javascripts = array(
'jquery',
'jquery.mobile-1.0.min.js',
);
echo $this->Html->script($javascripts);
// css
$css = array('jquery.mobile-1.0.css','jquery.mobile.structure-1.0.css','themes/mobires.css');
echo $this->Html->css($css) . "\n\t";
?>
</head>
<body>
<div data-role="page">
<?php echo $this->Session->flash(); ?>
<div data-role="header">
<h1>
<?php echo (isset($title_for_layout)) ? $title_for_layout : 'My default title';?>
</h1>
<div data-role="navbar">
<ul>
<li><?php echo $this->Html->link('Home',array('controller'=>'pages','action'=>'display','home'))?></li>
<li><?php echo $this->Html->link('Contact',array('controller'=>'pages','action'=>'display','contact'))?></li>
</ul>
</div><!-- /navbar -->
</div><!-- /header -->
<div data-role="content">
<?php
echo $this->Session->flash();
echo $content_for_layout;
?>
</div>
<!-- start footer -->
<div data-role="footer">
© 2012<?php if ( date("Y") > 2012 ) { echo '-' . date("Y"); } ?> Mobires. All Rights Reserved.
<br />
<?php echo $this->Html->link('Privacy Policy',array('controller'=>'pages','action'=>'display','privacy'))?>
<?php echo $this->Html->link('Terms & Conditions',array('controller'=>'pages','action'=>'display','terms'))?>
</div>
</div><!-- /page -->
<?php echo $this->Js->writebuffer(); ?>
</body>
</html>
и в моем home.ctp есть слово «test». Я пытаюсь нажать кнопки в нижнем колонтитуле, чтобы проверить загрузку Ajax.