Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu] Module products, UDT et upload d'image...
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.2
#~ Url du site : www.nextrides.yannlamy.com
#~ Hébergeur / Soft : hébergeur pas cher
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.10.2
#~ Installed Modules:
#~ CMSMailer: 2.0.2
#~ CMSPrinting: 1.0
#~ FileManager: 1.2.0
#~ MenuManager: 1.7.7
#~ MicroTiny: 1.1.1
#~ ModuleManager: 1.5.3
#~ News: 2.12.3
#~ Search: 1.7
#~ ThemeManager: 1.1.4
#~ CGExtensions: 1.27.1
#~ FrontEndUsers: 1.16.4
#~ SelfRegistration: 1.6.13
#~ CustomContent: 1.7.3
#~ CGSmartImage: 1.6.1
#~ CGSimpleSmarty: 1.4.10
#~ JQueryTools: 1.0.10
#~ Products: 2.15.1
#~ CGContentUtils: 1.2.1
#~ CGGoogleMaps: 2.1.4
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template: false
#~ output_compression: false
#~ max_upload_size: 6000000
#~ default_upload_permission: 664
#~ url_rewriting: mod_rewrite
#~ page_extension: .html
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.3.8
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ E_DEPRECATED: 0
#~ memory_limit: 64M
#~ max_execution_time: 90
#~ output_buffering: On
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 10M
#~ upload_max_filesize: 6M
#~ session_save_path: /tmp (1777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ Server Information:
#~ Server Api: cgi-fcgi
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.1.56
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour à tous,

j'utilise le module products pour générer des petites annonces.
Pour que les utilisateurs enregistrés puissent poster une annonce, j'ai donc créer une udt qui est un formulaire en 2 parties dans lequel toutes les infos concernant l'annonce sont demandées.
ces infos correspondent biensûr aux champs définis dans le module.

je vérifie toutes les données entrées puis, j'enregistre toutes ces données dans la base de données comme le fait la page do.addproduct.php du module.

la seule chose que je n'ai pas réussi à gérer pour le moment, c'est l'upload d'images (j'en ai 3)
je me suis référé à la page do.addproduct.php et ai repris le code pour le traitement des images, ce qui donne:

Code :
$errors = array();
$destdir = cms_join_path($gCms->config['uploads_path'],$this->GetName(),'product_2'); //2 car product 2 de test, sera dynamique ensuite

for($i=1; $i<=3; $i++){ //boucle pour chaque image, 3 au total
$image = "image".$i;
$image_val = $_FILES[$image];
$fid = 8 + $i; // car je connais l'id de mes champs images qui sont 9, 10, 11
$attr = 'default'; // aucun attribut

if(!empty($_files[$image]['name'])){ // si image existe on traite

$res = $this->HandleUploadedImage($id,$image_val,$destdir,$errors,'field-'.$fid,$attr);
                        if( $res === FALSE )
                        {
                          $v = null;
                        }
                        else if( $res === TRUE )
                        {
                          true;
                        }
                        else
                        {
                          $v = $res;
                        }
echo $v;// affiche résultat pour confirmation (provisoire bien entendu)
}
}

je me retrouve avec cette erreur:

Fatal error: Using $this when not in object context in /home/yannlamy/public_html/nextrides/lib/classes/class.usertagoperations.inc.php(260) : eval()'d code on line 545

donc, je suppose que quelquechose n'a pas été instancié, mais quoi?

la seule chose que j'appelle en début d'udt c'est smarty et le module product

Code :
$gCms = cmsms();

$products = cms_utils::get_module('Products');

comme l'upload d'image utilise CGextensions est-ce qu'il faut instancier son appel aussi ou le fait d'appeler products, ça fait automatiquement vu qu'il en dépend?

bref, si quelqu'un pouvait m'aider à résoudre ce soucis, ce serait super!

merci
Sujet fermé


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)