Fork me on GitHub


 Bas   Précédent   Suivant

(1) 2 3 4 ... 12 »


Re: Infos sur Xoopstree - $mytree
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
Ah ok, d'accord. Merci. : )

Posté le : 25/01/2015 13:48
Transférer la contribution vers d'autres applications Transférer


Re: Infos sur Xoopstree - $mytree
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
Merci Montuy337513 pour l'info.
"Dans le fichier" je ne comprends pas, quel fichier ?

Posté le : 25/01/2015 12:27
Transférer la contribution vers d'autres applications Transférer


Infos sur Xoopstree - $mytree
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
Bonjour,

Quelqu'un pourrait me faire un petit topo sur l'utilisation de Xoopstree (et de la variable $mytree)?

Je cherche à gérer des catégories pour un module en chantier.
Je ne sais pas comment commencer.

Merci !

Posté le : 24/01/2015 17:01
Transférer la contribution vers d'autres applications Transférer


Re: Fullcalendar - essai de création d'un module
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
Ok, ça fonctionne.

Deux choses :
1 - j'ai dû modifier le script ajax car la syntaxe de définition des variables n'était pas bonne (je ne sais toujours pas pourquoi ça marche avec l'ancienne syntaxe hors environnement xoops)

data: {$titreevent.title$debutstart$finend$identevent.id},


2 - récrire le code de récupération des données côté php pour les mettre en format simple quote.
if (isset($_POST['$titre'])) {
    
$title $xoopsDB->quoteString($_POST['$titre']);
}
if (isset(
$_POST['$debut'])) {
    
$start $xoopsDB->quoteString($_POST['$debut']);
}
if (isset(
$_POST['$fin'])) {
    
$end $xoopsDB->quoteString($_POST['$fin']);
}
if (isset(
$_POST['$ident'])) {
    
$id $xoopsDB->quoteString($_POST['$ident']);
}


Ouf !
: )

Posté le : 28/12/2014 22:24
Transférer la contribution vers d'autres applications Transférer


Re: Fullcalendar - essai de création d'un module
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
Je vois des choses étranges avec chrome et ses outils de développement. Peut-être le début de la solution.
Je n'avais pas assez bien exploré ces outils.

Ma requête se retrouve être ça :

INSERT INTO agenda (id,title,start,end,alldayVALUES (NULL,dfdfstart=2014-12-05 00:00:00end=2014-12-06 00:00:00,,,'1')


évidemment, ça peut pas fonctionner.

Et puis ceci (form data) :
title:dfdfstart=2014-12-05 00:00:00end=2014-12-06 00:00:00


Rien ne sépare les noms des différentes données.


Posté le : 28/12/2014 21:26
Transférer la contribution vers d'autres applications Transférer


Re: Fullcalendar - essai de création d'un module
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
Comment mon script pourrait envoyer des données au mauvais format dans l'environnement xoops et au bon format hors xoops ?

Voici mon script de template :

select: function(startendallDay) { //< par click dans le calendrier 
   
var title prompt ("Titre de l'évènement :"); 
     if (
title) {
    
start = $.fullCalendar.moment(start).format('YYYY-MM-DD HH:mm:ss');
    
end = $.fullCalendar.moment(end).format('YYYY-MM-DD HH:mm:ss');
    
// ici toutes les valeurs sont bonnes, title existe          
    
$.ajax({
        
type"POST",
        
url'http://localhost/monsite/modules/fullcalendar/add_events.php',
        
data'title='title+'start='start +'end='end // données à envoyer
        
success: function(json) {
            
alert('OK'); // le message s'affiche 
                 
}
        });
    
calendar.fullCalendar('renderEvent',
     {
       
titletitle// toutes ces valeurs sont bonnes et affichent 
       
startstart// correctement l'évènement dans le calendrier 
       
endend,     // donc elles sont au bon format pour Fullcalendar
       
allDayallDay
     
},
    
true // make the event "stick"
    
);
    }
     
calendar.fullCalendar('unselect');
    },


Ce script de template est le même dans Xoops (les datas ne sont pas transmises à add_events.php) et hors Xoops (les datas sont transmises).

Côté PHP (add_events.php) :

<?php
include "header.php";
$myts =& MyTextSanitizer::getInstance(); // MyTextSanitizer object
include_once XOOPS_ROOT_PATH."/class/xoopstree.php";
include 
XOOPS_ROOT_PATH."/header.php";
 
if (isset(
$_POST['title'])) {  // marche pas : pas de valeur title 
    
$title $_POST['title'];
}
if (isset(
$_POST['start'])) {  // pas de valeur start 
    
$start $_POST['start'];
}
if (isset(
$_POST['end'])) {  // pas de valeur end 
    
$end $_POST['end'];
}

/* -- données pour tester : si j'enlève le commentaire ça écrit ces valeurs dans la BDD
$title = $xoopsDB->quoteString("tata"); 
$start = $xoopsDB->quoteString("2014-12-01 00:00:00"); 
$end = $xoopsDB->quoteString("2014-12-05 00:00:00"); 
*/


$sql 'INSERT INTO '.$xoopsDB->prefix('agenda');
$sql.=  ' (id,title,start,end,allday) '
$sql.= " VALUES (NULL,$title,$start,$end,'1')";

$result=$xoopsDB->queryF($sql) or exit("Erreur");

?>


Je regarde aussi sur chrome. Aucune erreur.

add_events.php /portail/modules/fullcalendar POST 200 OK


:/

Posté le : 28/12/2014 20:31
Transférer la contribution vers d'autres applications Transférer


Re: Fullcalendar - essai de création d'un module
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
La partie avec json_encode fonctionne (après suppression du footer comme expliqué précédemment). json_encode se fait dans le fichier get-events php qui récupère les données dans la BDD et les transmet à mon template. C'est Fullcalendar qui doit décoder, je suppose, à travers sa fonction "events: 'nom du php'". Ce truc là fonctionne maintenant.

Concernant ajax et $_POST. Après moult essais (de syntaxe et autres) et recherche sur le net, j'en viens à me dire que c'est simplement la transmission de données par ajax avec la méthode POST (dans l'environnement xoops) qui ne fonctionne pas normalement.
Cette méthode fonctionne hors environnement xoops, quand Fullcalendar est installé seul sur mon serveur.
(cependant, je ne comprends pas pourquoi ça fonctionne pourtant dans le cas où je veux supprimer un élément de ma BDD et que je ne transmets par POST à mon fichier delete_events.php qu'une seule valeur, l'ID de l'élément seul...)

Bon, je dois apprendre à créer un formulaire alors.
Je n'ai jamais fait. Et ça me semble lourd uniquement pour passer trois valeurs : titre, start, end




Posté le : 28/12/2014 15:52
Transférer la contribution vers d'autres applications Transférer


Re: Fullcalendar - essai de création d'un module
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
Pour info, la structure de la table est celle-ci :

Open in new window

Posté le : 27/12/2014 12:12
Transférer la contribution vers d'autres applications Transférer


Re: Fullcalendar - essai de création d'un module
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
Merci Montuy.

Je vais essayer la méthode formulaire parce que là je ne comprends pas ce qui se passe avec Ajax et l'envoi de variables par POST.

Citation :

Mais vu comme, c'est écrit, je suis sûr que cela vient d'un problème de conformité de variables. Tu ne peux envoyer une données de type string dans un champs de type numérique, et vice-et-versa. Pour envoyer un champs string on mais 'string' et pas string. En résumé, il suffit qu'une de tes variables n'a pas le bon type par rapport au type de champs correspondant, cela ne fonctionnera pas.


Pour ce qui concerne le type de données il faudrait que Ajax transforme le type des variables avant de les envoyer au php car les variables de départ sont de type string et elle sont attendues en type string également.

Je n'ai pas de souci avec l'enregistrement dans la BDD. Exemple, quand je fais le test en dur :

// ----------------TEST -------------------------
$title $xoopsDB->quoteString("TOTO"); 
$start $xoopsDB->quoteString("2014-12-03 00:00:00"); 
$id $xoopsDB->quoteString("11");
$allday $xoopsDB->quoteString("1");
$end $xoopsDB->quoteString("2014-12-09 00:00:00"); 
// ----------------------------------------------


$sql "UPDATE ".$xoopsDB->prefix('agenda');
$sql.= " SET title = $title, start = $start, end = $end " 
$sql.= " WHERE id = $id";

$result=$xoopsDB->queryF($sql) or exit("Erreur");


et que j'exécute la page php seule, l'enregistrement s'effectue correctement.

Posté le : 27/12/2014 11:59
Transférer la contribution vers d'autres applications Transférer


Re: Fullcalendar - essai de création d'un module
Régulier
Inscrit: 21/08/2006 03:21
Messages: 113
Mais pourquoi je m'embête autant avec ajax ??? Uniquement pour transmettre des données type string à une page php.

Ça fonctionne hors environnement Xoops mais là franchement je me prends la tête.

Qu'est-ce que je peux donc utiliser à la place pour transmettre des variables de mon template à une page php ??

Les valeurs sont récupérées dans mon template (et affichées par Fullcalendar), je veux juste les filer à mon php pour enregistrement dans la BDD.
Misère...


Posté le : 27/12/2014 10:29
Transférer la contribution vers d'autres applications Transférer



 Haut
(1) 2 3 4 ... 12 »




Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

48 Personne(s) en ligne (35 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 48 | Plus ...