2

J'utilise django-tinymce avec la branche no grappelli de django-filebrowser exécutant django 1.2. J'utilise la définition de modèle HTMLymield de tinymce pour le champ de modèle que je voudrais avoir WYSIWYG.Impossible d'enregistrer le champ Admin avec tinymce et filebrowser dans django

J'ai ajouté le javascript correct à mon AdminModel, et le navigateur de fichiers fonctionne très bien, en ajoutant l'image à la zone de texte sans problème, cependant, quand j'économise, la zone de texte ne se met pas à jour (on dirait que tinnymce ne touchez-le quand il le faut). Lorsque j'éteins le plugin filebrowser, tout fonctionne correctement, il doit donc y avoir un conflit avec la fonctionnalité TinyMCE onSubmit. J'ai déjà joué avec ça pendant tout ce temps et je n'arrive tout simplement pas à aller n'importe où - toutes ces pièces sont assez neuves pour moi, donc même quelques idées de quoi se tromper seraient utiles.

Merci d'avance.

modifier: Ajout d'infos de bonus - le mode par défaut dans la configuration pour 'mode' était 'textareas'. Quand j'enlève ça, tout sauve correctement. Malheureusement, cela supprime également le bouton d'image que je fais tout cela pour avoir ...

mise à jour

Voici la configuration de TinyMCE j'utilisais (celui fourni avec django-navigateur de fichiers - ce est cassé):

tinyMCE.init({ 
    mode: "textareas", 
    theme: "advanced", 
    language: "en", 
    skin: "o2k7", 
    browsers: "gecko", 
    dialog_type: "modal", 
    object_resizing: true, 
    cleanup_on_startup: true, 
    forced_root_block: "p", 
    remove_trailing_nbsp: true, 
    theme_advanced_toolbar_location: "top", 
    theme_advanced_toolbar_align: "left", 
    theme_advanced_statusbar_location: "none", 
    theme_advanced_buttons1: "formatselect,bold,italic,underline,bullist,numlist,undo,redo,link,unlink,image,code,fullscreen,pasteword,media,charmap", 
    theme_advanced_buttons2: "", 
    theme_advanced_buttons3: "", 
    theme_advanced_path: false, 
    theme_advanced_blockformats: "p,h2,h3,h4,h5,h6", 
    width: '700', 
    height: '200', 
    plugins: "advimage,advlink,fullscreen,visualchars,paste,media,template,searchreplace", 
    advimage_styles: "Linksbündig neben Text=img_left;Rechtsbündig neben Text=img_right;Eigener Block=img_block", 
    advlink_styles: "internal (sehmaschine.net)=internal;external (link to an external site)=external", 
    advimage_update_dimensions_onchange: true, 
    file_browser_callback: "CustomFileBrowser", 
    relative_urls: false, 
    valid_elements : "" + 
    "-p," + 
    "a[href|target=_blank|class]," + 
    "-strong/-b," + 
    "-em/-i," + 
    "-u," + 
    "-ol," + 
    "-ul," + 
    "-li," + 
    "br," + 
    "img[class|src|alt=|width|height]," + 
    "-h2,-h3,-h4," + 
    "-pre," + 
    "-code," + 
    "-div", 
    extended_valid_elements: "" + 
    "a[name|class|href|target|title|onclick]," + 
    img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]," + 
    "br[clearfix]," + 
    "-p[class<clearfix?summary?code]," + 
    "h2[class<clearfix],h3[class<clearfix],h4[class<clearfix]," + 
    "ul[class<clearfix],ol[class<clearfix]," + 
    "div[class]," 
}); 

Ce fut l'un des deux problèmes que je rencontrais - aller poster une réponse ci-dessous ainsi.

+0

Pouvez-vous poster l'initialisation exacte du tinymce? – Thariama

Répondre

3

Le problème était en réalité double. Le premier problème était la configuration TinyMCE par défaut fournie avec django-filebrowser-no-grappelli (ci-dessus, dans la question). Je ne suis pas sûr de ce qui n'allait pas avec, mais il a empêché les champs de formulaire réels d'être mis à jour lorsque le bouton de soumission a été poussé.

Lorsque j'ai utilisé une configuration personnalisée pour TinyMCE, l'enregistrement de champ de formulaire a fonctionné correctement, mais le fichierbrowsing a été rompu. En effet, si django-tinymce voit 'filebrowser' dans la liste des applications installées, il remplace le fichier file_browser_callback et le place sur 'djangoFileBrowser', donc même si je le mets correctement dans 'CustomFileBrowser' dans ma propre configuration. La solution était de lui dire explicitement de ne pas définir cette valeur. J'ai ajouté le suivant à mes settings.py:

TINYMCE_DEFAULT_CONFIG = { 
    'theme': 'advanced', 
    'theme_advanced_toolbar_location': "top", 
    'theme_advanced_toolbar_align': "left", 
    'skin': "o2k7", 
    "file_browser_callback" : "CustomFileBrowser", 
} 
TINYMCE_FILEBROWSER = False 

Et tout semble fonctionner correctement. Ce problème semble être assez unique à ma combinaison de versions.