Fork me on GitHub






mydownloads 1.44 et la DATE
Régulier
Inscrit: 26/01/2004 16:16
De seraing
Messages: 253
Waow.. j'ai il y a peu installé la mise à jour 1.44 de Mydownload (sous les bon conseil de Dugris),...

Effectivement c'est bien meilleur pour le référencement !! De plus les champs HTML pour le contenu est là aussi un gros plus, puisque je peux mnt y insérer un player audio flash !! (bon un copier de code HTML,mais c'est déjà cela).

Par contre, du coup je constate que le flux RSS du module est interprété comme du brut.. et donc c'est du code HTML qu'il propose dans le flux... mais c'est peut-être RSS Fit qui devra là être adapté ?

Mais soyons méthodique...

Si déjà je pouvais adapter 1 champs supplémentaire à la gestion de l'administration, ce serait VRAIMENT Génial !!
Pouvoir imposer la date de l'item. En effet, celle-ci est fonction de l'insertion, puis de la modification de celui-ci !! ce qui ne correspond pas du tout à mon mode de fonctionnement, et cela m'oblige à chaque modification à plonger dans la DB faire les corection via requete SQL !! ;(

Qui pourrait m'aider à ajouter ce champs dans le formulaire d'édition de l'administration de ce module ?

Posté le : 01/11/2007 19:15
Partager Twitter Partagez cette article sur GG+
Re: mydownloads 1.44 et la DATE
Régulier
Inscrit: 26/01/2004 16:16
De seraing
Messages: 253
oui oui oui !! là je suis vraiment TROP content !
Ca fait des années que j'aimerai arrivé à cela, et en me mettant dans le code pour la relation entre TAG et Mydownloads,.. je me suis dit que je devrais pouvoir aussi être capable d'y arriver... je n'y croyais pas.. mais ca marche ,)

Donc, en gros, .. pour l'instant, je peux donc maintenant garder la date d'un item déjà créer (quand je l'édite), ou la modifier à ce moment là (je m'attaquerais ensuite à reproduire cela dans le code de la page pour la création d'un nouvel item au besoin.

les modifications ont été faites dans le fichier Mydownloads/admin/index.php

Au alentour de la ligne 390 commence la fonction function modDownload() qui m'intéresse (modification d'un Download)

juste avant les //*** sont créés toutes les variables j'ajoute donc les miennes

// HACK CJ AJOUT VARIABLE DATE
    
$encdate1 $xoopsDB->query("SELECT date FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE lid=$lid");
    list(
$encdate2)=$xoopsDB->fetchRow($encdate1);
    
$datetime formatTimestamp($encdate2,"s");

Récupérer de la DB la date de l'item, Fetchrow semble nécessaire (je ne m'y connais pas que pour l'expliquer), et là vu que j'ai récupéré une date en format "mysql" je dois la reformater en format de date plus correct ! (j'ai trouvé cela dans la page viewcat.php du module, là ou il affiche le contenu d'un item dans le site.

2° étape, afficher un champs dans le formulaire, cela s'ajoute juste un peu en dessous de la ligne //*** par exemple entre le champs Titre et URL.

$sform->addElement(new XoopsFormText(_MD_FILETITLE,'title',50,100,$title),true);
    
//HACK CJ DATE
    
$sform->addElement (new XoopsFormText (DATE,'date',50,50,$datetime),true);
    
// --
    
$sform->addElement(new XoopsFormText(_MD_DLURL,'url',50,250,$url),false);


le champs DATE affichera déjà l'ancienne de l'item que l'on modifiera au besoin.

3° étape, balancer les nouvelles infos dans DB en lieu et place de la fonction actuel qui récupérait la date du jour... Il faut maintenant partir plus loin dans le code de la page, au niveau de la ligne 830, dans la fonction modDownloads. Au début s'instencie toutes les variables récupérées du formulaire, de nouveau avant le // *** j'ajoute mes variable de date.

// HACK CJ DATE !!
    
$datetime $myts->addSlashes($_POST['date']);
    
$datetime strtotime ($datetime);


Tout d'abord, je récupère la variable, et ensuite via la fonction strtotime je la transforme en variable compatible avec la base de donnée Mysql.

ensuite, un poil plus bas, après un 2° // *** vous pouvez trouver la définition d'une variable *sql ou l'on attribuait un time(), je modifie toute cette ligne comme suit :

$sql sprintf("UPDATE %s SET cid = %u, title = '%s', url = '%s', homepage = '%s', version = '%s', size = %u, platform = '%s', logourl = '%s', status = %u, date = %u WHERE lid = %u"$xoopsDB->prefix("mydownloads_downloads"), $cid$title$url$homepage$version$size$platform$logourl2$datetime$_POST['lid']);


ET voilà.. le tour est joué...

Maintenant, plus qu'à faire de même pour la création d'un nouvel ITEM, mais là en proposant par défaut la date du jour dans le champs date !!

N'hésitez pas si vous avez des conseils ou remarques à formuler... c'est franchement mon truc dans le genre.. j'en suis fier, mais j'ai encore beaucoup à apprendre !!!

Posté le : 04/11/2007 17:56
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant




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

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