Skip to content
Snippets Groups Projects
Select Git revision
  • d714bc8dbdbbce2065e36a026f324baf79eefc89
  • master default protected
  • php84
  • ll-api-test
  • 6.x
  • release_6.2.0
  • modif_maintenance_phtml
  • 6.0.x
  • detached2
  • detached
  • php82
  • feature_SearchAndSelectFilter
  • 5.x
  • 4.x
  • 7.2.1
  • 7.2.0
  • 6.2.0
  • 7.1.0
  • 7.0.0
  • 1.1.1
  • 6.1.7
  • 6.1.6
  • 6.1.5
  • 6.0.16
  • 6.0.15
  • 6.1.4
  • 6.0.14
  • 6.1.3
  • 6.0.13
  • 6.1.2
  • 6.0.12
  • 6.1.1
  • 6.1.0
  • 6.0.11
34 results

Divers.dokuwiki

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Divers.dokuwiki 5.73 KiB
    ====== Divers ======
    
    ===== Export CSV =====
    UnicaenApp intègre un ensemble de classes et de méthodes qui permettent de générer facilement des contenus téléchargeables au format CSV.
    
    Exemple d'utilisation :
    <file php DemoController.php>
    public function csvAction()
    {
            /* Création d'un nouveau modèle de données au format CSV. L'en-tête peut être renseignée dès l'instanciation. */
            $result = new \UnicaenApp\View\Model\CsvModel( ['header' => ['Nom','Prenom'] ]);
    
            /* Les données peuvent être transmises par des variables (data, header, separator, filename, delimiter)... */
            $result->setVariable('data', [
                ['Lécluse','Laurent'],
                ['Morin','Paul'],
                ['Durand','Patrick']
            ]);
    
            /* .. ou bien par des accesseurs. Ici on attribue un nom de fichier pour l'export. */
            $result->setFilename('test_export_csv.csv');
    
            /* On peut aussi ajouter au besoin des lignes avec la méthode addLine ou des tableaux avec addLines... */
            $result->addLine( [
                'Anquetil', 'Pierre'
            ] );
    
            return $result;
    }
    </file>
    
    ===== Export XML =====
    Il est possible de générer des fichiers XML à la volée et en utilisant le modèle MVC.
    
    Cela se passe de la manière suivante :
    
    Dans votre action de contrôleur :
    
    <file php controler.php>
    
            $data = ['balise1' => 'contenu1', 'balise2' => 'contenu2'];
    
            $viewModel = new \UnicaenApp\View\Model\XmlModel();
            $viewModel->setVariable('data', $data); // on transfère les données à la vue
            $viewModel->setFileName('mon-fichier-export.xml'); // facultatif
            return $viewModel;
    </file>
    
    Dans votre vue :
    <file php view.phtml>
    <?php
    /**
     * @var $data array
     */
    
    echo "<body>\n";
    foreach( $data as $balise => $valeur ){
        echo "\t".$this->tag($balise)->text($valeur)."\n";
    }
    echo '</body>';
    </file>
    
    <WRAP center round tip 60%>
    Dans cette vue, l'[[develop:unicaen2:moduleunicaenunicaenapp:viewhelpers:tag|Aide de vue Tag]] est utilisée ici pour générer des tags. Ceci évite de gérer explicitement les caractères foireux (<, >, &).
    </WRAP>
    
    
    Résultat :
    <file xml mon-fichier-export.xml>
    <?xml version="1.0" encoding="utf-8"?>