logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
29 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 110 432 937

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Questions »» Editeur modules

Nouveau sujet
 Editeur modules#26973Répondre

3Contributeur(s)
Jireckjpbcolonelwog
3 Modérateur(s)
developpeurjpbJireck
Jireck Jireckicon_post
Hello

Juste pour savoir si quelqu'un a réussi a mettre l'éditeur de texte dans la partie admin d'un module ?

Car moi pas possible.
pour le coté user c'est OK coté admin non
dans pages j'ai


$PAGES['modules.php?ModPath=xxxx&ModStart=index*']['title']="[french]xxxxxx[/french][english]xxxxx[/english]+|$title+";
$PAGES['modules.php?ModPath=xxxx&ModStart=index*']['run']="yes";
$PAGES['modules.php?ModPath=xxxx&ModStart=index*']['blocs']="-1";
$PAGES['modules.php?ModPath=xxxx&ModStart=index*']['TinyMce']='1';
$PAGES['modules.php?ModPath=xxxx&ModStart=index*']['TinyMce-theme']="full";

$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['title']="";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['run']="yes";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['blocs']="0";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce']='1';
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce-theme']="full";


L'appel est le même dans les 2 cas.
 Message édité par : Jireck / 14/03/2025 19:03
jpb jpbicon_post
dans le tableau $adm_op_url du pages.php principal il faut que tu rajoutes 'Extend-Admin-SubModule'


L'eau goutte à goutte finit toujours par percer la pierre.
Jireck Jireckicon_post
quelques remarques suite à ta réponse et au regards du code que je dois pas comprendre.

1) si je rajoute Extend-Admin-SubModule à $adm_op_url ca veux dire que tinymce va être chargé à chaque module ?
c'est un peu extrême.

2) pourquoi ne pas avoir laissé l'appel pour les modules standard ?
	

$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['title']="";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['run']="yes";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['blocs']="0";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce']='1';
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce-theme']="full";


3) si je comprends bien là je vais rajouter pour 1 module :
- tinymce à tous les modules
- double déclarer un pages l'admin du module avec title, run, et blocs
- historiquement tous "mes" modules ont un pages déclaré comme ca.

c'est pas super pratique et pourtant dans le principe $adm_op_url c'etait de ne pas charger tinymce dans toutes l'admin.
tu vois ce que je veux dire...

autre point, (je réfléchi en écrivant), ca veux dire que j'ai plus le choix dans mon admin de module entre la version full et la version short de tiny.... 🤔
jpb jpbicon_post
si tu rajoutes seulement
'Extend-Admin-SubModule&ModPath=xxxx'
pour la version full ou light de tiny la surcharge devrait fonctionner ? (à tester...)
L'eau goutte à goutte finit toujours par percer la pierre.
 Message édité par : jpb / 14/03/2025 22:02
Jireck Jireckicon_post
Citation : jpb
si tu rajoutes seulement
'Extend-Admin-SubModule&ModPath=xxxx'


Mieux. pas pensé...

cela laissera pas le choix entre full, short ou custom et css et relativeurl
jpb jpbicon_post
Citation : Jireck
Citation : jpb
si tu rajoutes seulement
'Extend-Admin-SubModule&ModPath=xxxx'
L'eau goutte à goutte finit toujours par percer la pierre.


Mieux. pas pensé...

cela laissera pas le choix entre full, short ou custom et css et relativeurl


^^ pour la version full ou light de tiny la surcharge (par le page de ton module) devrait fonctionner ? pour css c'est mort à partir de module ...(à tester...)
L'eau goutte à goutte finit toujours par percer la pierre.
Jireck Jireckicon_post
remarque avec la surcharge on devrait pouvoir enlever tinymce des autres modules qui ont pas besoin de tinymce.

Genre :

$adm_op_url = array('Extend-Admin-SubModule&ModPath=xxxx','adminStory','DisplayStory','PreviewAgain','EditStory','autoEdit','Edito_load','sections','sectionedit','new_rub_section','rubriquedit','secartedit','secartupdate','DownloadAdmin','DownloadEdit','email_user','FaqCatGo','lnl_Shw_Body','lnl_Shw_Footer','lnl_Shw_Header','links','LinksModLink','Add_Footer');

foreach($adm_op_url as $v){
$PAGES['admin.php?op='.$v]['title']=""; // obligatoirement à vide
$PAGES['admin.php?op='.$v]['blocs']="0";
$PAGES['admin.php?op='.$v]['run']="yes";
$PAGES['admin.php?op='.$v]['TinyMce']=1;
$PAGES['admin.php?op='.$v]['TinyMce-theme']="full";
$PAGES['admin.php?op='.$v]['css']=array($nuke_url."/themes/default/style/admin.css+");
$PAGES['admin.php?op='.$v]['TinyMceRelurl']="false";
}

et
	$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['blocs']="0";

$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce']='1';
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce-theme']="short";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMceRelurl']="true";



ou

$adm_op_url = array('Extend-Admin-SubModule','adminStory','DisplayStory','PreviewAgain','EditStory','autoEdit','Edito_load','sections','sectionedit','new_rub_section','rubriquedit','secartedit','secartupdate','DownloadAdmin','DownloadEdit','email_user','FaqCatGo','lnl_Shw_Body','lnl_Shw_Footer','lnl_Shw_Header','links','LinksModLink','Add_Footer');

foreach($adm_op_url as $v){
$PAGES['admin.php?op='.$v]['title']=""; // obligatoirement à vide
$PAGES['admin.php?op='.$v]['blocs']="0";
$PAGES['admin.php?op='.$v]['run']="yes";
$PAGES['admin.php?op='.$v]['TinyMce']=1;
$PAGES['admin.php?op='.$v]['TinyMce-theme']="full";
$PAGES['admin.php?op='.$v]['css']=array($nuke_url."/themes/default/style/admin.css+");
$PAGES['admin.php?op='.$v]['TinyMceRelurl']="false";
}

et
	$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['blocs']="0";

$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce']='1';
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce-theme']="full";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMceRelurl']="false";

et


$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=yyyy&ModStart=admin/admin*']['blocs']="-1";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=yyyyy&ModStart=admin/admin*']['TinyMce']='0';

Jireck Jireckicon_post
je me pose toujours la question de pour ca ca marche pas :



$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['title']="";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['run']="yes";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['blocs']="0";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce']='1';
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxx&ModStart=admin/admin*']['TinyMce-theme']="full";

Jireck Jireckicon_post
Bon...

J'ai pour l'instant pas chercher mais voila mes tests

je fais ma petite fonction



function form(){
echo '<table class="table table-striped">'

.'<tr><th class="text-center">'.adm_gest_trad("xxxxx").'</th>'
.'<td class="text-center"><input class="form-control" type="text" name="nom" size="25" /></td></tr>'

.'<tr><td colspan="2" class="text-center">'.adm_gest_trad("Présentation").'</td></tr>'
.'<tr><td colspan="2" class="text-center"><textarea class="form-control tin" rows="25" id="pres" name="pres"></textarea></td></tr>';
echo aff_editeur('pres', '');
.....


Je met mon code :



form();


Pas d'editeur !!!

Je met :



adminhead ($f_meta_nom, $f_titre, $adminimg);
form();
adminfoot('fv','','','');


Hooo un editeur ...
adminfoot doit faire un truc... je verifie plus tard ...
jpb jpbicon_post
< oui il inclu le footer.php qui lui même charge le script de tiny ... pas de footer pas de tiny (car pas de script) ..
L'eau goutte à goutte finit toujours par percer la pierre.
Jireck Jireckicon_post
juste mon avis personnel sur adminfoot

il fait un peu tout cette fonction donc pour moi pas très compréhensible

elle charge le contrôle des formulaires pourquoi pas à ce moment là la fonction a un nom pas adapté

elle charge le footer ou pas =>>>> ???
pourquoi passer par cette fonction

Elle ferme un div ou pas ===> 🤔 ??

--------------------------------

Je reviendrai sur le sujet éditeur dans un autre post
jpb jpbicon_post
oui le nom est pourri c'est son nom d'origine et comme la fonction a évolué ....
lis la doc autodoc de la fonction tu comprendras ...
encore une fois dans le cas que tu présente tu n'es pas obliger de t'en servir tu peux inclure footer.php seul si tu n'a pas besoin de fv et de fermer ou pas le html de la zone admin ...
L'eau goutte à goutte finit toujours par percer la pierre.
Jireck Jireckicon_post
la fontion pourrais s'appelé admin_form et on exclurait le footer de la fonction.
la fonction ne gererai plus que le controle de formulaire et la fermeture de div.
C'est mon avis ...

Question pratique de tiny, quand tu ajoute un image depuis ton PC il gere l'upload et le reste ?

colonelwog colonelwogicon_post
perso sou php8.1 tiny ne s'affichait plus , il m'a fallu un moment avant de trouver que c'était la construction de la page qui n'allait plus un :" le fichier existe ! " me foutait la merde en debut de code avant le doc html
cause dans un conf header_after, j'avais bossé sur maintenance le module et j'avais ce code :
Le fichier existe.<br><!DOCTYPE html>

<html lang="fr">
<head>


du coup tiny ne s'initialisé pas !

du fait du module maintenance installé meme non fonctionnel avec dans header_after:

if(file_exists("modules/maintenance/maintenance.php")) {

echo "Le fichier existe.<br>"; // Message de test
!include!_once("modules/maintenance/maintenance.php");
} else {
echo "Le fichier n'existe pas.<br>";
}
Jireck Jireckicon_post
Hello Tout le monde
Allez je relance le sujet car je galère vraiment pour intégrer l'éditeur dans une des options de mon module.

par défaut, je met dans l'admin de mon module



switch($subop)
{

//list
case 'list':
list();
break;
case 'form':
adminhead ($f_meta_nom, $f_titre, $adminimg);
form();
adminfoot('fv','','','');
break;
}
!include!_once(footer.php);


J'ai mis dans mon pages.php


if(isset($_POST['op'])){
if($_POST['op'] == 'Extend-Admin-SubModule'){
$PAGES['admin.php']['TinyMce']=1;
$PAGES['admin.php']['TinyMce-theme']="full";
$PAGES['admin.php']['TinyMceRelurl']="false";
}
}


et là quand j'appelle mon form ==> pas de tiny

J'ai pourtant :



&lt;script type="text/!javascript!">
//<![CDATA[
document.addEventListener("DOMContentLoaded", function(e) {
tinymce.init({
selector: 'textarea.tin',
mobile: {menubar: true},
language : 'fr',
promotion : false,
skin : "oxide-dark",
template_popup_width: "800",
toolbar_mode: "sliding",
templates : [
{
title: "Une colonne",
url: "http://football.asfa.blog/editeur/tinymce/plugins/template/txt_1_col_12.html",
description: "Texte sur une colonne"
},
{
title: "Deux colonnes (50% 50%)",
url: "http://football.asfa.blog/editeur/tinymce/plugins/template/txt_2_col_6-6.html",
description: "Texte sur deux colonnes de largeurs égales"
},
{
title: "Trois colonnes (33% 33% 33%)",
url: "http://football.asfa.blog/editeur/tinymce/plugins/template/txt_3_col_4-4-4.html",
description: "Texte sur trois colonnes de largeurs égales"
},
{
title: "Deux colonnes (33% 66%)",
url: "http://football.asfa.blog/editeur/tinymce/plugins/template/txt_2_col_4-8.html",
description: "Texte sur deux colonnes de largeurs inégales"
},
{
title: "Deux colonnes (66% 33%)",
url: "http://football.asfa.blog/editeur/tinymce/plugins/template/txt_2_col_8-4.html",
description: "Texte sur deux colonnes de largeurs inégales"
},
{
title: "Trois colonnes (25% 50% 25%)",
url: "http://football.asfa.blog/editeur/tinymce/plugins/template/txt_3_col_3-6-3.html",
description: "Texte sur trois colonnes de largeurs inégales"
},
{
title: "Deux colonnes image/texte (33% 66%)",
url: "http://football.asfa.blog/editeur/tinymce/plugins/template/img_txt_2_col_4-8.html",
description: "Image, texte sur deux colonnes de largeurs inégales"
},
{
title: "Deux colonnes image/texte (17% 83%)",
url: "http://football.asfa.blog/editeur/tinymce/plugins/template/img_txt_2_col_2-10.html",
description: "Image, texte sur deux colonnes de largeurs inégales"
},
{
title: "Trois colonnes image/texte/image (25% 50% 25%)",
url: "http://football.asfa.blog/editeur/tinymce/plugins/template/img_txt_img_3_col_3-6-3.html",
description: "Texte sur trois colonnes de largeurs inégales"
}
],
content_css : ' lib/font-awesome/css/all.min.css,lib/bootstrap/dist/css/bootstrap.min.css,editeur/tinymce/themes/advanced/npds.css',
extended_valid_elements : 'hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]',
directionality: 'ltr',
// auto_focus: '',
apply_source_formatting : true,
force_br_newlines : true,
convert_newlines_to_brs : false,
remove_linebreaks : false,relative_urls : true,remove_script_host : false

});
});
//]]>
&lt;/script>



quand je vais sur admin.php?op=adminStory
J'ai bien l'éditeur.

si quelqu'un a une solution ou des pistes ?
Jireck Jireckicon_post
modifier pour mettre



$adm_op_url = array('adminStory','Extend-Admin-SubModule','DisplayStory','PreviewAgain','EditStory','autoEdit','Edito_load','sections','sectionedit','new_rub_section','rubriquedit','secartedit','secartupdate','DownloadAdmin','DownloadEdit','email_user','FaqCatGo','lnl_Shw_Body','lnl_Shw_Footer','lnl_Shw_Header','links','LinksModLink','Add_Footer');


et ca marche. le page dans le module ne sert presque plus a rien
jpb jpbicon_post
Citation : jpb
dans le tableau $adm_op_url du pages.php principal il faut que tu rajoutes 'Extend-Admin-SubModule'


L'eau goutte à goutte finit toujours par percer la pierre.


oui ! as tu essayé une url plus précise ? pour que tiny ne charge que pour le module qui en a besoin ?
L'eau goutte à goutte finit toujours par percer la pierre.
Jireck Jireckicon_post
non pas essayé.

ce qui me saoul c'est qu'avant on mettait ca si besoin et que ca marchait tres bien



$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxxx&ModStart=admin/admin*']['title']="";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxxx&ModStart=admin/admin*']['run']="yes";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxxx&ModStart=admin/admin*']['blocs']="0";
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxxx&ModStart=admin/admin*']['TinyMce']='1';
$PAGES['admin.php?op=Extend-Admin-SubModule&ModPath=xxxxx&ModStart=admin/admin*']['TinyMce-theme']="short";

et le module était par son propre pages indépendamment du reste
jpb jpbicon_post
- les superpositions des pages.php n'ont jamais parfaitement fonctionnées ...(et ne fonctionnent toujours pas)
- la centralisation de l'admin des modules
- le chargement de tiny non systématique pour toutes les pages de l'admin

entre autres explique ces changements... que ca te saoule soit... Mais cela fonctionne aussi bien qu'avant et de manière plus efficace ...
L'eau goutte à goutte finit toujours par percer la pierre.
Jireck Jireckicon_post
Citation : jpb
- les superpositions des pages.php n'ont jamais parfaitement fonctionnées ...(et ne fonctionnent toujours pas)
==> pour moi, cela fonctionnait mieux que maintenant. c'est mon avis.
- la centralisation de l'admin des modules ==> je ne vois pas ce que c'est ???
- le chargement de tiny non systématique pour toutes les pages de l'admin ==> c'est bien

entre autres explique ces changements... que ca te saoule soit... Mais cela fonctionne aussi bien qu'avant et de manière plus efficace ...


pour finir mon point de vue, les changements, bien que surement "meilleur", ne contribue pas au dev de module.