вот решил добавить jCarousel к приложению написанному на cake
http://sorgalla.com/jcarousel/
jCarousel делает ajax запрос и ожидает ответ в виде xml документа.
мне так и не удалось подключить jCarousel
данные строки не помогли
$this->RequestHandler->respondAs('xml');
$this->viewPath .= '/xml';
$this->layoutPath = 'xml';
Firebug выдавал ошибку 404 страница не найдена
хотя есть я вводил ajax url в броузере вывод имел вид xml документа
пример работающего php скрипта (dynamic_ajax_php.php без cake)
header('Content-Type: text/xml');
echo '<data>';
echo ' <total>' . $total . '</total>';
foreach ($selected as $img) {
echo ' <image>' . $img . '</image>';
}
echo '</data>';
как такое получить на cake ?
function mycarousel_itemLoadCallback(carousel, state)
{
jQuery.get(
'http://localhost/studip/dynamic_ajax_php.php',
// 'http://localhost/studip/fotos/jump', не работает
{
first: carousel.first,
last: carousel.last
},
function(xml) {
//alert(xml);
mycarousel_itemAddCallback(carousel, carousel.first,
carousel.last,xml);
},
'xml'
);
};
Если запрашивать URL с .xml в конце, тогда пляски вокруг viewPath и
layoutPath не нужны, зато нужен такой набор файлов в видах:
/app/views/layouts/ajax/xml.ctp (XML-пролог, $content_for_layout,
выключение дебага)
/app/views/myController/xml/myView.ctp (твой XML-вид)
Как починится, посмотри в Firebug заголовки ответа. Если там стоит
Content-type: text/html, то придётся хакать кейк таким образом:
http://swarticen.ya.ru/replies.xml?item_no=1841