IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

DomDocument Assignation d'une valeur à un élément [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Par défaut DomDocument Assignation d'une valeur à un élément
    Bonjour à tous,

    Je bosse actuellement sur une classe qui implémente, pour le moment, une petite partie de la norme ODF vu que rien n'existe à ce sujet en PHP (ou alors je ne sais pas chercher).

    Le but est de générer des ODF à la volée de cette façon :
    $odt = new ODT('name');
    $style1 = $odt->createStyle(array('name' => 'StyleTest', 'font-family' => 'Arial'...));

    $odt
    ->text('Mon texte ')
    ->textWithStyle('avec style ', $style1);
    ->text('et point.')
    Le but étant de générer quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <text:p>
     Mon texte
     <text:span text:style-name="StyleText">avec du style</text:span>
     et point.
    </text:p>
    Le problème que je rencontre, c'est que si je crée mon Element text:p de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $textp = $this->document->createElement('text:p');
    Je ne suis plus capable de lui réinjecter une value alors que je sais lui injecter un enfant.

    Ma question c'est : Comment puis-je injecter une value à l'élément text:p qui peut être n'importe où vis-à-vis des fils ?

    Merci d'avance pour vos réponses,

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    une petite partie de la norme ODF vu que rien n'existe à ce sujet en PHP
    Je n'ai malheureusement pas de solution à ton problème, je réagit juste sur ci-dessus.
    Rien en saisissant "php odt" dans Google, il y a ceci :
    odtPHP
    En en Français en plus.

    Mais il y aurait aussi : TinyButStrong OOo

    Il y en a des trucs non ?


    Mais tu parles au départ de ODF, puis dans le code il s'agit de ODT.
    Ce serait quoi au juste ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Par défaut
    Donc c'est bien ce que je dis, il n'existe rien pour faire ça en PHP dur et simple.
    Ici les différents scripts cités font en quelque sorte de la recherche de variable dans un ODT pour le remplacer par le contenu.

    J'ai une problématique qui m'impose de ne pas avoir de template. Alors il y a bien xhtml2odt mais le fonctionnement est plus ou moins aléatoire et ça ne prend en compte que les styles inline. Et je ne trouve pas la solution très élégante PHP -> Génération xHTML -> ODT

    Ce que je souhaite faire, c'est "juste" PHP -> ODT. Sans passer par un template quelconque, et donc pouvoir générer mes tableaux, mes styles etc, via PHP.

    edit : Je parle ODF au sens large du terme, mais pour le moment, je vais me cantonner à l'ODT. Pour le reste il existe pas mal de chose déjà

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    Hello,

    Je viens de jeter un oeil à la structure d'un fichier odt
    A priori y'a rien directement sous <text:p>, tout est ensuite collé dans des <text:span>
    T'as essayé quelque chose qui ressemblerait à ça ? =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $elem = $domDoc->createElement( 'text:span' );
    $elem->appendChild( $domDoc->createTextNode( 'mon texte' ) );
    $monElementParent->appendChild( $elem );

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Par défaut
    C'était bien la fonction createTextNode qu'il me manquait.

    Je te remercie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/04/2012, 12h41
  2. Assignation d'une valeur à un champs d'un bloc basé
    Par Paxaranne dans le forum Forms
    Réponses: 4
    Dernier message: 24/07/2007, 15h39
  3. donner une valeur à un élément
    Par mateuil dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 28/06/2007, 13h01
  4. donner une valeur à un élément
    Par mateuil dans le forum AWT/Swing
    Réponses: 21
    Dernier message: 20/06/2007, 17h25
  5. Vector - assigner une valeur à un élément
    Par bouazza92 dans le forum SL & STL
    Réponses: 3
    Dernier message: 23/04/2006, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo