2010-12-08 17 views
0

J'ai hérité de la gestion d'un site Symfony et ont besoin d'ajouter des balises de formulaire HTML à l'une des pages « statiques » via le CMS. Le scénario que j'ai est: /index.php/splash/welcome affiche l'écran de bienvenue. Nous voulons être en mesure d'ajouter un bouton d'abonnement sur cette page. Le code HTML a été fourni pour nous par la société qui gère les abonnements. La méthode post de formulaire a une action qui référence un script sur un site distant (pas de cours sur les implications de sécurité s'il vous plaît ;-). Lorsque j'ajoute les tags <form... and <input ... via le panneau d'administration de CMS, les tags sont automatiquement supprimés par Symfony. Existe-t-il un moyen de dire à Symfony d'autoriser ces balises?Ajout formulaire HTML et les balises d'entrée dans les pages statiques Symfony

Merci à l'avance, Marty.

+0

On dirait que votre question a été coupée. – Tom

Répondre

1

Cela dépend entièrement de la façon dont le développeur a configuré le CMS. Vous utilisez un éditeur de texte riche en mode source, je voudrais jeter un coup d'oeil au fichier de configuration et à la documentation de cet éditeur parce que c'est probablement celui qui est responsable de dépouiller les balises.

Si son juste une zone de texte brut i vérifierait l'action pour soumettre le formulaire de modification et regarder le code ... il utilise peut-être quelque chose pour les dépouiller là-dedans. Si vous utilisez l'un des plugins Symfony CMS (Diem, Apostrophe, Sympal), je pourrai vous aider si je sais lequel vous utilisez. Si c'est quelque chose de personnalisé, nous aurions besoin de voir le code. Ce n'est pas vraiment indiciatif du noyau de Symfony, mais plutôt du CMS que vous utilisez.

+0

OK - merci pour les conseils, il m'a fait bouger dans la bonne direction. Le CMS utilise tinymce comme éditeur RT. Tinymce supprime toutes les balises html potentiellement menaçantes de toute zone "textarea" sur submit. La seule façon que j'ai pu trouver autour de ça était de désactiver Javascript. Alors le texte de textarea est rendu comme texte droit, texte non riche, et enregistre sans passer par la validation de données de tinymce js. C'est une solution laide, car elle supprime les capacités d'édition WYSIWYG du CMS - les gestionnaires de contenu ne seront pas trop heureux - je devrais changer de CMS, à moins que quelqu'un ne connaisse un problème? –

+0

Mise à jour - symfony a un fichier php qui initialise l'éditeur tinymce. Il a un tag extended_valid_elements, auquel j'ai ajouté la forme et les tags d'entrée et voilà, ça marche très bien! Voici les détails: fichier est sfRichTextEditorTinyMCE.class.php, ligne I changé maintenant ressemble à ceci: extended_valid_elements: "img [classe | src | frontière = 0 | alt | titre | hspace | vspace | largeur | hauteur | align | onmouseover | onmouseout | nom], forme [nom | action | cible | méthode | style], entrée [type | nom | taille | valeur | style | classe] ", (la dernière virgule est délibérée). J'espère que cela aidera tous ceux qui pourraient rencontrer le même problème !! Salutations, –

+0

Vous devriez être en mesure de définir cela sans modifier la classe réelle ... il devrait y avoir une méthode pour le configurer. – prodigitalson