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

Symfony PHP Discussion :

TinyMCE et Symfony2


Sujet :

Symfony PHP

  1. #1
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut TinyMCE et Symfony2
    Bonjour,

    J'ai installé tinyMCE sur mon projet, et j'aiu mis en place l'éditeur dans ma page.

    Par contre, lorques je sauvegarde un texte HTML qui contient des couleurs, des soulignements, etc... il ne me sauvegarde que els balises comme <strong>, <hr /> ou <p>

    Dans le POST de sauvegarde, je n'ai déjà que les données triées.
    Est ce que vous voyez la raison ?

    Merci,
    Pierre

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Par défaut
    Bonjour
    ajouter un filtre raw dans votre page twig .

  3. #3
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Bonjour,

    j'ai déjà effectué cette étape. Mon problème se situe du coté de la sauvegarde, puisque la BDD ne contient pas tout le code HTML que je génère avec tiny MCE.

    Pierre

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Par défaut
    Salut
    normalement vous voulez recevoir les données récupérées depuis la base pour afficher dans partie admin de votre site (qui est bien sûre modifier avec les couleurs et autre) Donc si c'est le cas peut importe les données enregistrer dans la base mais vous vous intéressez à la partie afficher.
    Bref, essayez de mettre le filtre raw dans :
    Projet/ProjetBundle/Resources/view/votre_projet/index.html.twig qui est générée par le crud.
    =>Ce travail pour l'affichage au niveau de la partie admin.
    Et si vous voulez afficher le texte modifié dans la partie d'internaute vous devez appliquer ce filtre (raw) dans votre fichier twig de la page d'internaute
    exemple soit votre variable nommée texte:
    {{ texte|raw }}.

  5. #5
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Bonjour,

    je vais detailler un peu plus la nou j'en suis, ca sera plus simple pour expliquer le problème je pense.

    J'ai une page disponible pour mes visiteurs qui leur permet de mettre de la mise en page, une sorte de blog participatif.

    Dans ma page "show.html.twig", j'ai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            <div>
                <p>{{ post.content|raw }}</p>
            </div>
    Dans mon formulaire, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     $builder
                ->add('title')
                ->add('description')
                ->add('content',"textarea", array(
    			        'attr' => array(
    			            'class' => 'tinymce',
    			            'data-theme' => 'medium' // simple, advanced, bbcode
    			        )
        		))
    Mon objet tiny MCE s'affiche bien, mais la plupart des valeurs que je met dans l'objet tiny MCE ne sont pas sauvegardées dans la BDD.
    J'ai uniquement les balises <p>, <hr />... et non les balises de couleurs, de soulignement, etc...

    Dans la BDD, le texte ne contient pas les balises autres que <p> et <hr />, donc il n y a aucun moyen de les afficher plus tard.


    Par exemple :
    J'ai créé un post avec des couleurs, des soulignements, du gras et de l'italique.

    Voici ce que ca me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <p></p>
    <p>testsdfdsfdsfdsfdsfsdfsdfdsfsdfsdfsdfsdfsdfsdfsdfdsfsdfdsfdsfsdfdsfsd</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p style="text-align: center;">dsfdsfsdfdsfdsf</p>
    <p style="text-align: center;">sdfsdfsdfsdfsdfdfdfdsfsdsfsdfsdfsdfsdf</p>
    <p></p>
    Le code dans la BDD étant lui bien affiché grace au paramètre "raw"


    Quelque chose d'encore plus bizarre, lorsque j'inspècte le contenu du POST(donc ce que mon navigateur envoie au serveur)
    j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	<p>testsdfdsfdsfdsfdsfsdfsdfdsfsdfsdfsdfsdfsdfsdfsdfdsfsdfdsfdsfsdfdsfsd</p> <p>&nbsp;</p> <p>&nbsp;</p> <p style="text-align: center;">dsfdsfsdfdsfdsf</p> <p style="text-align: center;">sdfsdfsdfsdfsdfdfdfdsfsdsfsdfsdfsdfsdf</p>
    Qui me semble etre la même chose que ce qui va être enristré dans la BDD

    Merci,
    Pierre

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Par défaut
    essayez d'envoyer les données via Get!!!!

  7. #7
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Bonjour,

    C'est un formulaire, je ne peux aps envoyer les données par get. Il peut y avoir beaucoup trop de texte (surtout en HTML) pour avoir cette capacité.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Par défaut
    vous n'envoyez pas la texte mais id de entité.
    Bon j'ai trouve comme ton difficulté et voici mes démarches
    il se peut que vous donne un coup de main :
    -récupération des données depuis la base dans index.html.twig
    -envoie les données vers l'autre base lors de clique sur Ajouter a l'article
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td width="450px">{{ entity.text|raw }} <form action="{{ path('projets_ajouter_texte', { 'id': entity.id }) }}"><button type="submit">Ajouter a l'article</button>
    </form>
    route:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    projets_ajouter_texte:
        pattern:  /{id}/ajouter_texte
        defaults: { _controller: "ProjetEnCourBundle:projets:ajouter_texte" }
    Contrôleur:
    au première lieu vous devez récupérée les donnée via votre base et en ensuite modifier l'autre base.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		public function ajouter_texteAction($id)
    	{
    		$em = $this->getDoctrine()
    					->getEntityManager();
    		$text=$em->getRepository('ProjetEnCourBundle:projets')->myFindText($id);
    		$rep=$em->getRepository('ProjetEnCourBundle:projets_afficher')->find(1);
    		$rep->setTextAff($text);
    		$em->flush();
    		return $this->render('ProjetEnCourBundle::bien_ajouter.html.twig');
    	}
    entité_Repository.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	public function myFindText($id)
    	{
     
    		$query= $this->_em->createQuery('SELECT p.text FROM ProjetEnCourBundle:projets p WHERE p.id=:id');
    		$query->setParameter('id', $id);
    		$resultats = $query->getSingleScalarResult();
    		return $resultats;
    	}
    et vous devez récupérer les données depuis l'autre base pour afficher les données a ajouter à la page internaute:
    voici aussi les démarches :
    route:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    route_projet_en_cour:
        pattern:  /projet_en_cour
        defaults: { _controller: ProjetEnCourBundle:Projet:projet_en_cour }
    contrôleur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class ProjetController extends Controller
    {
     
        public function projet_en_courAction()
        {
    	$rep = $this->getDoctrine()
    			    ->getEntityManager()
    				->getRepository('ProjetEnCourBundle:projets_afficher');
    		$texte=$rep->myFind();
     return $this->render('ProjetEnCourBundle::projet_en_cour.html.twig', array('texte'=>$texte));
    }
    }
    projet_afficherRepository:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public function myFind()
    	{
    		$query= $this->_em->createQuery('SELECT p.text_aff FROM ProjetEnCourBundle:projets_afficher p WHERE p.id=1');
    		$resultats = $query->getSingleScalarResult();
    		return $resultats;
    	}
    et finalement voici ma page d'affichage de texte à l'internaute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         <p>{% if texte %}
    					{{ texte|raw }}
    	 			   {% endif %}</p>
                  </p>
    j'espére qu'il vous donne un aidée.

  9. #9
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Bonjour,

    Je n'ai toujours pas la possibilité d'enregistrer les couleurs ou la mise en page du texte avec tinyMCE.

    Est ce que ca vous dit quelque chose ?
    Quelqu'un a réussi à le mettre en place ?

    Pierre

  10. #10
    Membre averti
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 14
    Par défaut
    Hello,

    j’essaie de mettre en place Tinymce sur Symfony à l'aide du Bundle de stfalcon. J'ai utilisé le bbcode et j'ai aussi un problème lors de l'enregistrement.

    De temps en temps les balises sont prises en comptes d'autre non, souvent lors de la première saisie ça ne fonctionne pas, si je re-sélectionne un mot pour le repasser en gras généralement ça fonctionne.

    Ca s'apparente au soucis que tu as pu avoir? As-tu réussi à le résoudre?

    merci

  11. #11
    Membre éprouvé Avatar de Avrel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2010
    Messages : 118
    Par défaut
    Pourrais-tu nous montrer le bout de javascript qui initialise tinymce ?

  12. #12
    Membre averti
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 14
    Par défaut
    J'ai cette fonction JS qui est appelé à la toute fin de mon template principal. Ce que j'observe c'est que mes textarea ont bien l'éditeur WYSIWYG. Ce code est généré par le Bundle en intégrant {{ tinymce_init() }} dans mon template.

    Si je tape du texte en gras une première fois il s'affiche en gras dans l'editeur mais si je regarde le code html, les balises bbcode n’apparaissent pas. Si je sélectionne le texte et que je le remet en gras là les balises apparaissent.

    Ensuite dans mon html j'ai aussi les balises mais elles ne sont pas remplacées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    initTinyMCE({
    "include_jquery":true,
    "tinymce_jquery":true,
    "textarea_class":".tinymce",
    "theme":
    	{"simple":
    		{"mode":"textareas",
    		"theme":"advanced",
    		"theme_advanced_buttons1":"mylistbox,mysplitbutton,bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink","theme_advanced_buttons2":"","theme_advanced_buttons3":"","theme_advanced_toolbar_location":"top",
    		"theme_advanced_toolbar_align":"left",
    		"theme_advanced_statusbar_location":"bottom",
    		"plugins":"fullscreen",
    		"theme_advanced_buttons1_add":"fullscreen"},
     
    	"advanced":
    		{"theme":"advanced",
    		"plugins":"pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template","theme_advanced_buttons1":"save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect","theme_advanced_buttons2":"cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor","theme_advanced_buttons3":"tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
    		"theme_advanced_buttons4":"insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
    		"theme_advanced_toolbar_location":"top",
    		"theme_advanced_toolbar_align":"left",
    		"theme_advanced_statusbar_location":"bottom",
    		"theme_advanced_resizing":true},
     
    	"medium":
    		{"mode":"textareas",
    		"theme":"advanced",
    		"plugins":"table,advhr,advlink,paste,xhtmlxtras,spellchecker",
    		"theme_advanced_buttons1":"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,forecolor,backcolor,|,hr,removeformat,|,sub,sup,|,spellchecker","theme_advanced_buttons2":"cut,copy,paste,pastetext,pasteword,|,bullist,numlist,|,undo,redo,|,link,unlink,anchor,cleanup,code,|,tablecontrols",
    		"theme_advanced_buttons3":"",
    		"theme_advanced_toolbar_location":"top",
    		"theme_advanced_toolbar_align":"left",
    		"theme_advanced_statusbar_location":"",
    		"paste_auto_cleanup_on_paste":true,
    		"spellchecker_languages":"+English=en,Dutch=nl"},
     
    	"bbcode":
    		{"mode":"none",
    		"theme":"advanced",
    		"plugins":"bbcode",
    		"theme_advanced_buttons1":"bold,italic,underline,undo,redo,link,unlink,image,forecolor,styleselect,removeformat,cleanup,code","theme_advanced_buttons2":"","theme_advanced_buttons3":"","theme_advanced_toolbar_location":"top","theme_advanced_toolbar_align":"center",
    		"theme_advanced_styles":"Code=codeStyle;Quote=quoteStyle","entity_encoding":"raw",
    		"add_unload_trigger":false,"remove_linebreaks":false,"inline_styles":false,
    		"convert_fonts_to_spans":false}},
    		"jquery_script_url":"\/myprojecttest\/web\/bundles\/stfalcontinymce\/vendor\/tiny_mce\/tiny_mce.js"});
    merci .

  13. #13
    Membre éprouvé Avatar de Avrel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2010
    Messages : 118
    Par défaut
    En fait je voulais voir celui de pmithrandir.

    Quant a toi, merci de faire un sujet à part, qu'on est pas pleins de problèmes dans la même discussion.

    Merci

  14. #14
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    j ai ajouté ca dans mon fichier layout, dans mon bundle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% block javascripts %}{{ tinymce_init() }}{% endblock %}
    Ca m'a suffit, mais il a fallu que j'aille définir a la main les classes de mes textarea dans mes form.

    Bon courage

Discussions similaires

  1. [TinyMCE] Alert valeur textarea sur validation
    Par eowene dans le forum Bibliothèques & Frameworks
    Réponses: 14
    Dernier message: 15/01/2008, 00h43
  2. FCKEditor | TinyMCe Install
    Par gvana dans le forum ASP
    Réponses: 2
    Dernier message: 07/02/2007, 08h19
  3. [TinyMCE] Script tinymce : installation
    Par Amenos dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 21/12/2006, 17h04
  4. [TinyMCE] [Sécurité] Données retournées par TinyMCE
    Par shoryu-ken dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 14/06/2006, 14h09
  5. [VB.Net] TextArea avec tinyMCE
    Par xG-Hannibal dans le forum ASP.NET
    Réponses: 4
    Dernier message: 07/02/2006, 12h28

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