Olá, Visitante. Por favor Entre ou Registe-se se ainda não for membro.
4 de Dezembro de 2008, 17:19:42
Início Ajuda Pesquisa Entrar Registe-se
Notícias: REDCODESTUDIO
Flash, Programação Web e Web Design


+  Redcodestudio
|-+  Programação Web
| |-+  PHP
| | |-+  Alguem familiarizado com xajax e smarty?
« anterior seguinte »
Páginas: [1] Ir para o fundo Imprimir
Autor Tópico: Alguem familiarizado com xajax e smarty?  (Lida 1083 vezes)
Obi1-Cannabis
Iniciado
*
Offline Offline

Mensagens: 11


Ver Perfil
« em: 8 de Novembro de 2007, 16:35:31 »

Boas,
Estou a criar um sitema que verifica a disponibilidae de quartos de hoteis, e preciso reenviar novas variaveis para o smarty quando se alteram as datas do check-in e/ou check-out.
O que estou a tentar fazer para concretizar isto é: quando as novas datas são submetidas, estas são enviadas para uma função de xajax que inicia um output buffering para guardar o output de um ficheiro php include semelhante ao principal mas que chama apenas uma subtemplate do smarty que está no div.

o codigo do php que chama a template principal é algo do tipo:
Código:
<?php
include($_SERVER['DOCUMENT_ROOT']."/../app.php");
require_once(
$CFG->wwwroot."/lib/hotels.inc.php");
require_once(
$CFG->wwwroot."/inc/xajax/xajax_core/xajax.inc.php");

   
$_SESSION["search"]["datein"] = $_REQUEST["checkin"];
   
$_SESSION["search"]["dateout"] = $_REQUEST["checkout"];
   
$_SESSION["search"]["id"] = $_REQUEST["id"];

   
$hotel = &new hotels();
   
$hotel->id =  $_SESSION["search"]["id"];
   
$hotel->initDat $_SESSION["search"]["datein"];
   
$hotel->endDate $_SESSION["search"]["dateout"];

   
$allotments $hotel->checkAllots();//retorna o numero de quartos disponiveis para o hotel 

   //Smarty Config
 $smarty = new Smarty;
 $smarty->compile_check true;
 $smarty->debugging false;
 $smarty->template_dir $CFG->smartydirs "/templates/m4travel";
 $smarty->compile_dir $CFG->smartydirs "/templates_c/m4travel/";
 $smarty->config_dir $CFG->smartydirs "/configs";

   
//CFG Vars
 $smarty->assign("wwwroot"$CFG->wwwroot);
 $smarty->assign("wwwinc"$CFG->wwwinc);
 $smarty->assign("wwwimagens"$CFG->wwwimagens);
 $smarty->assign("wwwsubroot"$CFG->wwwtravelroot);
 $smarty->assign("wwwsubinc"$CFG->wwwtravelinc);
 $smarty->assign("wwwsubimagens"$CFG->wwwtravelimagens);

   
//Dados
 $datain reversed_date($_SESSION["search"]["datein"]);
 $dataout reversed_date($_SESSION["search"]["dateout"]);
 /****OUTROS DADOS****/

   //Vars
 $smarty->assign("pedatain"$_SESSION["pesquisas"]["datain"]);
 $smarty->assign("pedataout"$_SESSION["pesquisas"]["dataout"]);
 $smarty->assign("available"$allotments);
 /****OUTRAS VARIAVEIS****/
   
   //XAJAX
 $xajax = new xajax();
 $xajax->registerFunction("changeDates");
   
   function 
changerDates($newCheckin,$newCheckout) {
  GLOBAL $CFG;

  $objResponse = new xajaxResponse();

  $_SESSION["search"]["datein"] = $newCheckin;
  $_SESSION["search"]["dateout"] = $newCheckout;

  ob_start();
  include($CFG->wwwroot."/hotels/verifyNewDates.php");
  $res ob_get_contents();
  ob_end_clean();
  $objResponse->assign("tab0","innerHTML",$res);

  return $objResponse;
   }

   
$xajax->processRequest();
   
$smarty->assign('xajax_script',$xajax->getJavascript('../../inc/xajax'));
 
   
$smarty->display("alojamentos/alojamento.tpl");
?>

o verifyNewDates.php é identico a este mas n tem os $_REQUESTs pois estao guardados na $_SESSION e em vez de $smarty->display("alojamentos/alojamento.tpl"); é
$smarty->display("alojamentos/available.tpl");

a template principal do smarty(alojamentos/alojamento.tpl) tem uma parte assim:
Código:
<div id="tab0">
   {include file="/alojamentos/available.tpl"}
</div>

e dentro dessa sub-template esta o formulario e os dados dos quartos disponiveis.
porem o xajax n esta a devolver a resposta.

Alguem me pode ajudar? ou se acham que esta não é a melhor aproximação para este problema digam-me qual acham que seria uma melhor solução.

Desde ja obrigado por qualquer ajuda.

Big Up!
Registado

Shaolin-style
Páginas: [1] Ir para o topo Imprimir 
« anterior seguinte »
Ir para:  


Entrar com nome de utilizador, password e duração da sessão


Powered by MySQL Powered by PHP Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
XHTML 1.0 válido! CSS válido!
Página criada em 0.061 segundos com 19 procedimentos.