PB avec chemin des images

Archive

Messagepar patrice.gwp » Lun 18 Fév 2008, 18:50

Bonjour, je suis nouveau et j'ai un prob avec le chamin pour les images.
Je souhaite créer une arborescence pour le dossier "images" afin de gérer plus facilement les images des différentes catégories de produits.
Mais lorsque je sélectionne l'image produit, elle est copier à la racine "image", je souhaiterais qu'elle reste ou elle est et que le chemin relatif soit [VAR POUR LES IMAGES]/catalogue/vestes
[VAR POUR LES IMAGES] viens du fichier configure.php

Y a t' il une option ? Ou bien faut t' il modifier les sources ?
Merci de m'aider :)
Bien cordialement, patrice
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar j4k » Lun 18 Fév 2008, 19:18

je ne sais pas ce que fait cete contrib mais ça semble s'approcher de ce ue tu recherche.

http://www.oscommerce.com/community/contributions,5125
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar j4k » Lun 18 Fév 2008, 19:34

~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar patrice.gwp » Mar 19 Fév 2008, 12:42

merci beaucoup,
je ne sais pas encore laquelle choisir..d'autant que mon anglais est approximatif :)
Une question concernant les modifs ?
- Elles sont manuelle ? donc il faut les refaires à chaque fois que l'on met a jour osCSS.
Comment est ce que vous gérer tout ça? svp ?
merci pour votre aide, patrice
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar j4k » Mar 19 Fév 2008, 13:07

http://www.oscommerce.com/community/contributions,2409

je pense que celle-ci est bien car elle crée directement un dossier qui porte le nom de la catégorie et y place les images correspondantes.

http://www.oscommerce.com/community/contributions,3873 permet d'éditer manuellement les sous dossier.

oui c'est des modifs manuelles (mais mineures) qu'il faudra réitérer en cas de mise à jour.


je ne les ai pas testé, je traduit juste les expications fournies, si tu pouvais nous faire le topo sur les contrib que tu essaye, ce serais bien.

Personnellement je pense qu'il serait bien d'inclure la première (un ss-dossier par catégorie) dans le noyau de osCSS.

Fais nous remonter ton retour d'expérience.
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar patrice.gwp » Mar 19 Fév 2008, 17:46

oui, merci
je vous ferait ar de mes experiznces.
1er tester, la 5125 ...mais provoque des erreures.
J'ai abandonner suite à vos derniers post.
bien cordialement, patrice.
NB : l'idée d'une intégration francisée dans osCSS est super.

?? il y avait une page sur les plugs les plus fiables et modifiés pour osCSS, mais je ne m'y retrouve plus avec cette nouvelle version de forum. un petit lien ? peut être ??
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar j4k » Mar 19 Fév 2008, 18:06

il y a toujours le forum dédié au plugin :

http://forums.oscss.org/viewforum.php?id=4

ainsi que la page de doc des plugins dns le wiki :
http://wiki.oscss.org/doku.php?id=osc:plugin

et un espace spécial est maintenant prévu dans le svn avec les versions modifiées pour osCSS.

enfin, le bug tracker permet de faire des propositions sur les plugins que l'on souhaite voir implémenter dans les versions à venir :
http://dev.oscss.org/
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar patrice.gwp » Mer 20 Fév 2008, 00:17

http://www.oscommerce.com/community/contributions,2409
Propose de créer un dossier par catégories et sous-cat dans le dossier /"images"
afin de mieux gérer le dossier consernant le catalogue.


télécharger :

Categories and Products Images Folder Tree V1.2 > utiliser et modifier
Add-on for Big Image > non utilisé
Readme File > non utilisé
Filepath Trap > non utilisé
Error fix: catimagessetup.php > non utilisé

Modification de la base :

Contenu du fichier "queries.sql"
---------------------------------------------------------------------------------
-- ALTER TABLE osc_categories CHANGE categories_image categories_image VARCHAR( 120 ) DEFAULT NULL;
-- ALTER TABLE osc_products CHANGE products_image products_image VARCHAR( 120 ) DEFAULT NULL;
---------------------------------------------------------------------------------
ATTENTION, la "racine" du nom des tables peut avoir changé lors de l'installation d'osCSS
( nécéssaire pour séparer les tables entre plusieurs applications sur une base unique )

!! ne pas faire d'installation auto !!

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ MODIFICATIONS $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

FILE =
/admin/categories.php

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

FIND = 79

tep_db_perform(TABLE_CATEGORIES, $sql_data_array, 'update', "categories_id = '" . (int)$categories_id . "'");
}
$languages = tep_get_languages();
ADD =

tep_db_perform(TABLE_CATEGORIES, $sql_data_array, 'update', "categories_id = '" . (int)$categories_id . "'");
}
// pat19022008 - images categories
if ($action == 'update_category') {
$old_dir_name = DIR_FS_CATALOG_IMAGES . tep_output_generated_category_path_fs($categories_id);
}
// pat19022008 - images categories eof
$languages = tep_get_languages();

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

FIND = 100
tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array);
} elseif ($action == 'update_category') {
tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array, 'update', "categories_id = '" . (int)$categories_id . "' and language_id = '" . (int)$languages[$i]['id'] . "'");
}
}

if ( !empty($_FILES['categories_image']['tmp_name']) ) {
$categories_image = new upload('categories_image', DIR_FS_CATALOG_IMAGES);
tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = '" . tep_db_input($categories_image->filename) . "' where categories_id = '" . (int)$categories_id . "'");
}

REMPL =
tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array);
} elseif ($action == 'update_category') {
tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array, 'update', "categories_id = '" . (int)$categories_id . "' and language_id = '" . (int)$languages[$i]['id'] . "'");
}
}
// pat19022008 - images categories
$dir_to_make = DIR_FS_CATALOG_IMAGES . tep_output_generated_category_path_fs($categories_id);
if (is_dir($dir_to_make) == false) {
if ($action == 'insert_category') {
mkdir($dir_to_make,0755);
chmod($dir_to_make,0777);
} elseif ($action == 'update_category') {
rename($old_dir_name, $dir_to_make);
$db_folder = tep_output_generated_category_path_fs($categories_id);
$products_renamed_query = tep_db_query("update " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " pc set p.products_image = concat('".$db_folder."', (substring_index(p.products_image, '/', -1))) where pc.products_id = p.products_id and pc.categories_id = '" . (int)$categories_id . "'");
$categories_renamed_query = tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = concat('".$db_folder."', (substring_index(categories_image, '/', -1))) where categories_id = '" . (int)$categories_id . "'");
}
}

if ( !empty($_FILES['categories_image']['tmp_name']) ) {
$categories_image = new upload('categories_image', $dir_to_make);
$db_image_file_name = tep_output_generated_category_path_fs($categories_id) . $categories_image->filename;
tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = '" . tep_db_input($db_image_file_name) . "' where categories_id = '" . (int)$categories_id . "'");
}


// original :
// if ( !empty($_FILES['categories_image']['tmp_name']) ) {
// $categories_image = new upload('categories_image', DIR_FS_CATALOG_IMAGES);
// tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = '" . tep_db_input($categories_image->filename) . "' where categories_id = '" . (int)$categories_id . "'");
// }
// pat19022008 - images categories eof

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

FIND = 269

'manufacturers_id' => tep_db_prepare_input($HTTP_POST_VARS['manufacturers_id']));

if (isset($HTTP_POST_VARS['products_image']) && tep_not_null($HTTP_POST_VARS['products_image']) && ($HTTP_POST_VARS['products_image'] != 'none')) {
$sql_data_array['products_image'] = tep_db_prepare_input($HTTP_POST_VARS['products_image']);
}

REMPL =

'manufacturers_id' => tep_db_prepare_input($HTTP_POST_VARS['manufacturers_id']));

if (isset($HTTP_POST_VARS['products_image']) && tep_not_null($HTTP_POST_VARS['products_image']) && ($HTTP_POST_VARS['products_image'] != 'none')) {
// pat19022008 - images categories
$sql_data_array['products_image'] = tep_output_generated_category_path_fs($current_category_id) . tep_db_prepare_input($HTTP_POST_VARS['products_image']);
//original
// $sql_data_array['products_image'] = tep_db_prepare_input($HTTP_POST_VARS['products_image']);
// pat19022008 - eof images categories

}

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

FIND = 368

case 'new_product_preview':
// copy image only if modified
$products_image = new upload('products_image');
$products_image->set_destination(DIR_FS_CATALOG_IMAGES);
if ($products_image->parse() && $products_image->save()) {

REMPL =

case 'new_product_preview':
// copy image only if modified
$products_image = new upload('products_image');
// pat19022008 - images categories
$prod_path = $HTTP_GET_VARS['cPath'];
$lchar = strrpos($prod_path, '_');
if ($lchar + 1 == 1) {
$lachar = 0;
} else {
$lachar = $lchar + 1;
}
$prod_path_id = substr($prod_path, $lachar);
$prod_folder = tep_output_generated_category_path_fs($prod_path_id);
$products_image->set_destination(DIR_FS_CATALOG_IMAGES . $prod_folder);
// pat19022008 - eof images categories
if ($products_image->parse() && $products_image->save()) {

==========================================================================================
FILE =
/admin/includes/functions/general.php

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

TODO = Ajouter le texte a la fin du script avant la balise de fermeture ?>

// pat19022008 - images categories
function tep_output_generated_category_path_fs($id, $from = 'category') {
$calculated_category_path_string = '';
$calculated_category_path = tep_generate_category_path($id, $from);
for ($i=0, $n=sizeof($calculated_category_path); $i<$n; $i++) {
$ii = ($n - 1) - $i;
for ($j=0, $k=sizeof($calculated_category_path[$ii]); $j<$k; $j++) {
$jj = ($k - 1) - $j;
// pat22022008 - convertion accents
//original//$dir_path = ereg_replace("[^a-z0-9._]", "", str_replace(" ", "_", str_replace("%20", "_", strtolower($calculated_category_path[$ii][$jj]['text']))));
$dir_path = no_accent(strtolower($calculated_category_path[$ii][$jj]['text']));
$dir_path = ereg_replace("[^a-z0-9._]", "", str_replace(" ", "_", str_replace("%20", "_", $dir_path)));
// pat22022008 - convertion accents - eof
$calculated_category_string .= $dir_path . '/';
}
}
return $calculated_category_string;
}
// pat22022008 - convertion accents
function no_accent($str_accent) {
$pattern = Array("/é/", "/è/", "/ê/", "/ç/", "/à/", "/â/", "/î/", "/ï/", "/ù/", "/ô/");
// notez bien les / avant et après les caractères
$rep_pat = Array("e", "e", "e", "c", "a", "a", "i", "i", "u", "o");
$str_noacc = preg_replace($pattern, $rep_pat, $str_accent);
return $str_noacc;
}
// pat22022008 - convertion accents - eof

// pat19022008 - eof images categories

===========================================================================================


$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ FIN MODIFICATIONS $$$$$$$$$$$$$$$$$$$$$$$$$$$$$

RESULTAT DES TESTS : DERNIERE MODIF : 22/02/2008 09:48

OK - pour création avec image dans dossier
OK - pour renomage de la catégorie principale ( ainsi que du dossier )
OK - pour renommage des sous-catégories ( ainsi que les dossiers )
!! - pour renommage de la catégorie principale lorsqu'elle contient des sous-cat.
NOTE : le nom dans la base est renommé mais pas le dossier, ce qui implique une perte de l'image.

OK - pour la convertion des caract accent, , ajout d'une fonction "no_accents(...)" avec
"function tep_output_generated_category_path_fs(...)" du fichier genaral.php
Permet de transformer au préalable les caracts accent aen (non accent ) au lieu de les supprimer.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! L'utilisation de "catimagessetup.php" n'est pas compatible osCSS !!
IF YOU ALREADY HAVE EXISTING CATEGORIES AND PRODUCTS:
After you modify the 2 files above, place the file named: catimagessetup.php in the your admin folder and then
in your browser, open it with http://YOUR_ADMIN_URL/catimagessetup.php or https://YOUR_ADMIN_URL/catimagessetup.php
===========================================================================================
Dernière édition par patrice.gwp le Ven 22 Fév 2008, 11:50, édité 1 fois.
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar j4k » Mer 20 Fév 2008, 00:38

oui à chque fois que tu appelle une table en sql il faut ajouter le prefix qui se trouve dans la variable : DB_TABLE_PREFIX

ça done par exemple : "update ".DB_TABLE_PREFIX."products p, ".DB_TABLE_PREFIX."products_to_categories (...) "

et "update ".DB_TABLE_PREFIX."categories set (...)"

de même plus haut je pense qu'il faut remplacer TABLE_CATEGORIES par DB_TABLE_PREFIX.TABLE_CATEGORIES etc ...

je n'ai pas testé mais ça doit etre un truc comme ça, il faut l'inclure à tous les appels de table sql
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar patrice.gwp » Mer 20 Fév 2008, 13:13

bonjour,
je ne suis pas sur qu'il sagisse de ça car dans le reste ducode "categorie.php", il n'y a pas d'eccès aux tables avec DB_TABLE_PREFIX
...
je continu de chercher.. si quelqu'un peux aidé ? ce ne sera pas de refus :)
merci en tout cas pour vos réponses .. plus que rapides
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar j4k » Mer 20 Fév 2008, 13:24

au temps pour moi les tables sont définies dans le fichier includes/database_tables.php avec le préfixe, il ne faut donc pas le rajouter quand on appelle la table avec TABLE_CATEGORIES par contre il faudra bien remplacer :

Code: Tout sélectionner
 "update ".DB_TABLE_PREFIX."products p, ".DB_TABLE_PREFIX."products_to_categories (...) "

et
Code: Tout sélectionner
 "update ".DB_TABLE_PREFIX."categories set (...)"

ou encore mieux remplacer par la variable TABLE_PRODUCTS ce qui donnera :
Code: Tout sélectionner
 "update ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_TO_CATEGORIES." (...) "

il faut tout ramener au table telles que définies dans le fichier database_tables.php
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar patrice.gwp » Mer 20 Fév 2008, 17:10

oki, merci, j'ai fais les corrections, et j'ai modifier le poste du projet. voir la section FIND = 100

Après test : ça marche à la création d'une
[catégorie] + [sous-cat] + [produit] avec chaqu'un une image.
ensuite, pour le renommage, j'ai bien un changement de nom dans la base mais le nom du rep n'est pas modifier.
Et je ne retrouve plus les images..( encore du travail donc )
en tout cas, plus de message d'erreur, la piste est bonne :)

Je continu les tests et tente de créer les dossiers dans un dossiers global (sous rep du dossier "images" )
genre /images
|-----/catalogue
|------- vestes
|------- pantalons ...
Dernière édition par patrice.gwp le Mer 20 Fév 2008, 17:21, édité 1 fois.
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar j4k » Mer 20 Fév 2008, 17:40

concernant l'update quel est le code final que tu teste ?

sinon comment cela se passe pour les catégorie qu contiennent un accent, un espace ou un caractère spécial ?
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar patrice.gwp » Mer 20 Fév 2008, 18:00

le code que je test est celui du grand post "hier 22:17:47" ( je l'ai modifier ) > si vous avez une meillur méthode de travail, je suis preneur , bien sur.

pour les caractères, j'ai saisi le nom d'une catégorie : "pépé à paris"
Le nom de catégorie est bien pris en compte dans le menu.
Le répertoire a été créer : "pp__paris" et l'image copiée correctement.
Lors de l'accès depuis la "boutique" j'ai bien l'image de la cat. qui s'affiche.Le nom est bien "pépé à paris"
Lorsque j'ai fais une modif "pépé à paris 2", le dossier à été
renommer "pp__paris_2"
NOTE sur le renommage avec le bouton "Editer" :
1/ lorsque la catégorie est seule, le changement de nom fonctionne
2/ lorsqu'elle contient une ou des Sous-Cat, le renommage fonctionne pour les Sous-cat ( fais le test plusieurs fois ) mais la catégorie principale ne change pas de nom du dossier ( par contre, le nom de la catégorie change ainsi que le nom du chemin.il s'en suit que l'image n'est plus trouvée ) :) suis-je clair, là ? ..
merci du coup de main.. je test encore
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar patrice.gwp » Ven 22 Fév 2008, 11:53

bonjour,
j'anonce la modification du MESSAGE 11.

Ajout d'une fonction "no_accent(..) pour convertir les caracts accent. plutot que les supprimer.

Si vous testez et que vous avez un problème ?...
nota :
BUG de renommage de la 1ere categorie ( qui en contient d'autres ) non résolu.
Dernière édition par patrice.gwp le Sam 23 Fév 2008, 12:36, édité 1 fois.
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar oscim » Ven 22 Fév 2008, 13:57

Pour les non de rep et de fichiers, effectivement je pense que tu devrais eviter tous accent ou espace, etc..

Tu peut faire une function pour ca. pense a remplacer les espaces !

Un ptit coup d'expression regulliéres.
Pour un web au normes du W3C, pour un web plus propre !

- Download osCSS Toutes versions
- stable osCSS 2.1.0 (help|info|new dev) Official help|wiki|Tuto for osCSS 2 | doc doxygen
- Utiliser le tracker pour suivre les évolutions et développements
- Inscrivez vos sites sur oscss pour présenter vos réalisations
Avatar de l’utilisateur
oscim
Site Admin
 
Messages: 1643
Inscription: Mar 25 Sep 2007, 11:33

Messagepar patrice.gwp » Ven 22 Fév 2008, 19:50

désolé, je me suis mal exprimer..
j'ai corriger en mettant une fonction qui traite en 1er lieu les caractères accents.
Ensuite, la procedure d'origine normale avec traitement des espaces sous la forme %20 et " " et traitement de tous les autres caratères interdits. j'ai fait des tests avec la créa des Cat et Sous-Cat avec incertion d'une image. Puis modification des noms...
Il me rste a voir avec les produits ..

Au passage, qui pourait m'informer sur le plug import excel
je l'ai installer mais il ne marche pas. Voir ma demande section "plugins"
Salutation; patrice
merci pour toute aide.
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar oscim » Sam 23 Fév 2008, 11:40

Quel retour d'erreur, import et n'enregsitre pas, etc ???
Pour un web au normes du W3C, pour un web plus propre !

- Download osCSS Toutes versions
- stable osCSS 2.1.0 (help|info|new dev) Official help|wiki|Tuto for osCSS 2 | doc doxygen
- Utiliser le tracker pour suivre les évolutions et développements
- Inscrivez vos sites sur oscss pour présenter vos réalisations
Avatar de l’utilisateur
oscim
Site Admin
 
Messages: 1643
Inscription: Mar 25 Sep 2007, 11:33

Messagepar patrice.gwp » Sam 23 Fév 2008, 12:33

oscim a écrit:Quel retour d'erreur, import et n'enregsitre pas, etc ???

pas d'erreur, rien ne ce passe, simplement.
J'ai enlever les commentaires pour la création d'un fichier, ça marche, j'ai les catégories, mais pas les produits ( à l'export )
Pour pouvoir exporter, j'ai mis en commentaire le controle "if ($status) {..." sinon, la var $status est toujour vide, même après le click sur bouton "export"

Pour l'import, ça travail, mais rien de créer

>> voir la section plugins, afin de continuer sur ce sujet
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Messagepar patrice.gwp » Dim 24 Fév 2008, 12:24

Bonjour, et bon dimanche
J'ai trouver pourquoi l'export ne fonctionnait pas.
Il faut impérativement qu'un fournisseur soit renseigné.
Mais si on ne renseigne pas ? comment faire ? SVP.
patrice.gwp
Membre actif
 
Messages: 18
Inscription: Ven 18 Jan 2008, 18:06

Suivante

Retourner vers osCSS 1.2

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron