Dúvidas Gerais

Gravatar de faael faael Tópico publicado em
21/06/2009, 18:30:05

XAJAX com Spaghetti

Olá.

Em minhas aplicações eu costumo usar o framework XAJAX (http://xajaxproject.org/). Porém, não estou conseguindo utilizar em conjunto com o Spaghetti.

Ele da problemas na hora de incluir o arquivo responsável por imprimir o javascript, eu não estou conseguindo especificar o caminho correto.

Meu controller de exemplo ficou assim:

function index() { require_once(“xajax/xajax_core/xajax.inc.php”); // Instanciamos a classe $xajax = new xajax(); // Registramos a função $xajax->registerFunction(“teste”); // Criamos a função function teste() { //Instância do objeto de resposta do Ajax $objResponse = new xajaxResponse(); // Coloca o resultado na div resposta $objResponse->assign(“resposta”, “innerHTML”, “teste”); //Devolve a resposta para a página return $objResponse; } // Função para processar as requisições $xajax->processRequest(); }
}

E eu teria que imprimir o javascript no layout:

$xajax->printJavascript(“xajax/”);

Só que estou tendo problemas com caminhos.
É possível trabalhar com esses dois frameworks em harmonia? Alguém pode sugerir o que eu poderia fazer?

Desde já, obrigado.

Gravatar de Klawdyo Klawdyo Resposta publicada em
21/06/2009, 21:16:04

XAJAX com Spaghetti

Pra usar classes externas, é bom usar conforme aqui e aqui

Gravatar de faael faael Resposta publicada em
23/06/2009, 19:46:19

XAJAX com Spaghetti

Certo, consegui incluir a biblioteca e criar as funções no controller:

function index() { Spaghetti::import(“App”, “xajax/xajax_core/xajax.inc”); // Instanciamos a classe $xajax = new xajax(); // Registramos a função $xajax->registerFunction(“teste”); // Criamos a função, function teste() { //Instância do objeto de resposta do Ajax $objResponse = new xajaxResponse(); // Coloca o resultado na div resposta $objResponse->assign(“resposta”, “innerHTML”, “teste”); //Devolve a resposta para a página return $objResponse; } // Função para processar as requisições (indispensável) $xajax->processRequest(); }

Porém o problema está na impressão do javascript. Para imprimir o javascript é necessário adicionar no cabeçalho:
$xajax->printJavascript(“xajax/”) // No caso, se o arquivo estiver fora da pasta xajax/

Tentei das seguintes formas:
1. $xajax->printJavascript(Spaghetti::import(“App”, “xajax/”));
2. $xajax->printJavascript(Spaghetti::import(“App”, “xajax/xajax_js/xajax_core”, “js”));

Porém o seguinte erro é gerado: *Error: the xajax Javascript component could not be included. Perhaps the URL is incorrect?
URL: xajax_js/xajax_core.js*

Parece que o problema continua sendo a localização do arquivo. Sabe como eu poderia fazer?

Grato.

Sabe o que pode ser?

Gravatar de faael faael Resposta publicada em
27/06/2009, 23:45:53

XAJAX com Spaghetti

Várias tentativa já se foram, e ainda não consegui unir esses dois frameworks.

Olha, pelo menos descobri que o problema está na impressão do meu javascript. Mesmo se eu passo o caminho absoluto, ele continua exibindo a mensagem:
Error: the xajax Javascript component could not be included. Perhaps the URL is incorrect?
URL: /xajax/xajax_js/xajax_core.js

Meu código está da seguinte maneira:
<?php // Incluimos a biblioteca do xajax Spaghetti::import("App", "xajax/xajax_core/xajax.inc"); // Instanciamos a classe $xajax = new xajax(); // Registramos a função $xajax->registerFunction("teste"); // Criamos a função function teste() { //Instância do objeto de resposta do Ajax $objResponse = new xajaxResponse(); // Coloca o resultado na div resposta $objResponse->assign("resposta", "innerHTML", "teste"); //Devolve a resposta para a página return $objResponse; } // Função para processar as requisições $xajax->processRequest(); // Imprimimos o javascript. *A pasta xajax/ está na raiz do servidor. $xajax->printJavascript("/xajax/"); ?>

A função printJavascript() simplesmente requer como parâmentro o caminho da pasta do xajax, só que não estou conseguindo passá-la de forma alguma.

Por favor, se algúem puder ajudar eu agradeço, estou a dias tentando.
Grato.

Gravatar de Rafael Marin Rafael Marin Resposta publicada em
28/06/2009, 09:36:34

XAJAX com Spaghetti

Cara, to tentando criar um componente aqui, mas não tá rolando direito. Se eu conseguir solucionar eu posto aqui.

Você deve estar logado para responder a um tópico ou adicionar um novo.
Efetue login ou Registre-se para participar das discussões.