Recupérer le code d'une vue en ajax
Bonjour, est-il possible de récupérer un résultat d'une vue après traitement.
J'ai besoin de ce résultat html pour l'afficher directement sur une partie d'une page
sans recharger la page. Or quand je récupère la vue, il y a pleins d'informations autre que la liste de mes "ul" <li>
[une partie main]
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public function _suggestAjaxCampagnes ()
{
$this->oLayout->setLayout('ajxlayoutvide') ; // changement de layout vide pour notre affichage
_root::setConfigVar('site.mode','prod'); // desactive la barre Debug
_root::setConfigVar('debug.enabled',0);
$tMk_gstm_campagnes=model_mk_gstm_campagnes::getInstance()->findAll();
$oView = new _view('mk_gstm_campagnes::suggest');
$oView->tMk_gstm_campagnes = $tMk_gstm_campagnes;
echo print_r($oView) ;
// echo sprintf($oView);
// echo var_dump($oView);
} |
[la vue]
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?php if(isset($this->tMk_gstm_campagnes)):?>
<ul class="list-unstyled">
<?php foreach($this->tMk_gstm_campagnes as $oMk_gstm_campagnes):?>
<?php $c_id = $oMk_gstm_campagnes->c_id + 0 ;?> /* pour enlever les zeros non significatifs */
<li onclick="choisirCetArticle('<?php echo $c_id?>','<?php echo $oMk_gstm_campagnes->p_reference?>')"><span class="c_id-code"><?php echo $c_id?>_id</span><?php echo $oMk_gstm_campagnes->code?><span class="c_id-detail"><?php echo $oMk_gstm_campagnes->detail?></span></li>;
<?php endforeach;?>
<?php else:?>
<li>Aucune ligne de résultat</li>
<?php endif;?>
</ul> |
[ce code équivalent mais dans la partie main fonctionne]
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
private function listeAjaxCampagnes()
{
$sRecherche =_root::getParam("codesearch",null) ; // resultat d'une recherche
$this->oLayout->setLayout ( 'ajxlayout' ) ; // changement de layout vide pour notre affichage
_root::setConfigVar('site.mode','prod'); // desactive la barre Debug
$tMk_gstm_campagnes=model_mk_gstm_campagnes::getInstance()->findAll();
$output = '<ul class="list-unstyled">';
if($tMk_gstm_campagnes)
{
foreach($tMk_gstm_campagnes as $oMk_gstm_campagnes)
{
$c_id = $oMk_gstm_campagnes->c_id + 0 ; // pour enlever les zeros non significatifs
$output .= '<li onclick="choisirCetArticle(\''.$c_id.'\',\''.$oMk_gstm_campagnes->p_reference.'\');"><span class="c_id-code">'.$oMk_gstm_campagnes->code.'<span class="c_id-detail">'.$oMk_gstm_campagnes->detail.'</span></li>';
}
}
else
{
$output .= '<li>Pas d\'article</li>';
}
$output .= '</ul>';
return $output ;
} |
Avec le code ci-dessus, si je le récupère comme ci-dessous, cela fonctionne parfaitement.
Code:
1 2
|
echo $output = $this->listeAjaxCampagnes(); |
Je vous remercie par avance et je remercie ici Mika pour cet outil qui m'accompagne depuis plus de huit ans quotidien.