créer une contribution pour la Creload 6 FR PDF Imprimer Envoyer
Vous avez décidé d'adapter ou mieux de créer une contribution pour la Creload. Grand bien vous fasse, la communauté Oscienne vous en sera éternellement reconnaissante. Mais quelques règles simples sont toutefois nécessaires au bon déroulement de votre projet...

Avant toutes choses, vous devez être sûr que la contrib que vous décidez d'adapter fonctionne déjà bien pour une MS2 de base.
Il existe quelques contributions qui n'ont pas été mises à jour ou qui ont des bugs. Ces bugs, si vous n'y prêtez pas attention vous donneront plus de travail que l'adaptation de la contrib elle-même.

Ecrit par O'Neill  sur oscommerce-fr.info 
01-05-2004

1. Installer la contribution sur une boutique de réserve, une ms2 (c'est plus facile), de préférence neuve,  pour l'évaluer d'abord.
Vous n'êtes pas vraiment obligé de faire ca, mais pour les contributions les plus anciennes qui n'ont pas été mises à jour depuis quelque temps, cela peut se révéler très utile pour vous éviter bien des soucis au moment de l'adaptation.

 

2. Organisation des fichiers.
Parfois, des programmeurs ont utilisé de mauvaises méthodes pour écrire leur contribution.
Il n'y a qu'une façon correcte pour assembler une page de code dans la Creload, plus deux ou trois choses auxquelles vous devez faire attention.

La Boxe des catégories en est un exemple concret. Dans cette boxe, il y a une fonction qui crée la liste des catégories mais c'est la croix et la bannière pour y modifier quoique ce soit. Une variable globale doit être définie avant cette fonction, la plupart des personnes oublieront cela et, ce qu'ils ont ajouté ne fonctionnera pas.
 a)  Éviter les fonctions internes (ce sont des fonctions qui résident uniquement à l'intérieur d'une page php),
 Les fonctions doivent être dans un fichier séparé qui sera appelé par le biais d'un include. Si son emploi n'est utile que pour un seul fichier, sa place se situera en début de fichier et non juste à l'endroit où il servira.
 Si votre fonction est exigée dans plusieurs pages, vous pourrez employer un require pour appeler votre fichier de fonctions dans le tout début de votre fichier.

 

3. Où tout est-il placé pour un fichier qui serait normalement dans la racine ?
Les requêtes et les appels aux tables, les fichiers de langues, les templates et fichiers de contenu sont dans :
/catalog/nom_du_fichier.php

Pour n'importe quel Javascript vous devrez utiliser
/catalog/includes/javascript/nom_du_fichier.js.php

Le code et le HTML utilisés pour formater et afficher la page produite seront dans :
/catalog/templates/content/nom_du_fichier.tpl.php

Images et boutons sont dans :
/catalog/templates/(nom_du_template)/images/buttons/  Sauf pour la Théma !

Les images utilisées pour la création des bordures autour des Infoboxes du centre et des Infoboxes de côté mais aussi les images de header et les images de tabulation. On y ajoutera également le (Nom du template).gif qui est une image d'apercu du template et qui est utilisée dans la gestion des templates dans la partie Admin. Tout cela est dans
/catalog/templates/(Nom_du_template)/images

Les infoboxes latérales dans :
/catalog/templates/(nom_du_template)/boxes/

Le module optionnel utilisé pour l'affichage sur la mainpage, exige un formatage spécial pour le template à cet endroit :
/catalog/templates/(nom_du_template)/mainpage_modules

Les fichiers module restent dans le répertoire des modules et ne peuvent être changés ou déplacés comme un fichier de la racine, à moins qu'ils ne doivent être affichés seulement sur la page principale.

Repertoire des Templates :
templates/

templates/content
Ce répertoire est employé pour stocker le code et l'HTML de la page produite pour votre fichier racine. C'est là que vous pourrez ajouter du code.

templates/(nom du template)/
C'est dans ce repertoire qu'est placé main_page.tpl.php : c'est le contenu de la page d'index quand vous arrivez sur votre boutique. Il est aussi employé pour afficher d'autres modules qui peuvent être installés à partir du contrôle du design.

boxes.tpl.php : C'est le code pour placer les images sur le pourtour des boxes latérales

Extra_html_ouput.php : c'est la où les fonctions pour l'affichage des boutons et des images ainsi que les fonctions de formatage complémentaires sont placées pour le template.

(Nom_du_template).sql : c'est le fichier qui pré-charge un template avec des réglages par défaut. Ca ressemble à un fichier SQL, mais il y a toutefois des différences.

modules :
fonctions :
classes :
langue :
images :

Si vous vous voulez des images spécifiques pour être différent à chaque template, utilisez :
function tep_template_image_submit
Au lieu de
function tep_image_submit

Enfin, si vous vous voulez des boutons spécifiques pour être différent à chaque template, utilisez :
function tep_template_image_button
Au lieu de
function tep_image_button

 

 

4. Installation si nécessaire de votre fichier racine.
Dans le fichier racine vous placerez autant d'appels à la base de données que nécessaire avec le code de prétraitement tant que ces appels seront les mêmes pour toutes les pages devant être affichées.

-------------exemple pour newsdesk_index.php----------------
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_NEWSDESK_INDEX);
Note : puisque le fichier de langue exigé n'est pas placé au bon endroit, cette ligne a été ajoutée

$content = CONTENT_NEWSDESK_INDEX; 
Note : si vous placez un fichier dans le répertoire content/, vous avez besoin d'une telle entrée avec le nom du fichier pour aller la chercher dans content/

require(DIR_WS_TEMPLATES . TEMPLATE_NAME . '/' . TEMPLATENAME_MAIN_PAGE);
Note : le module étant affiché par mainpage, cette entrée est ajoutée.
Pratiquement, tous les fichiers devant être affichés passent par la page principale des templates

require(DIR_WS_INCLUDES . 'application_bottom.php');
Note : ceci est ajouté pour fermer les pages HTML comme cela doit être affiché.

=====================exemple pour tell_a_freind==============================
$breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_TELL_A_FRIEND, 'products_id=' . $HTTP_GET_VARS['products_id']));
Note : Ceci lorsque vous voulez que le titre de votre page s'affiche dans la barre de navigation (breadcrumb)

  $content = CONTENT_TELL_A_FRIEND;
Note : si vous placez un fichier dans le répertoire content/, vous avez besoin d'une telle entrée avec le nom du fichier pour aller la chercher dans content/

require(DIR_WS_TEMPLATES . TEMPLATE_NAME . '/' . TEMPLATENAME_MAIN_PAGE);
Note : le module étant affiché par mainpage, cette entrée est ajoutée.
Pratiquement tous les fichiers devant être affichés passent par la page principale des templates

require(DIR_WS_INCLUDES . 'application_bottom.php');
Note : ceci est ajouté pour fermer les pages HTML comme cela doit être affiché.

 

 

5. includes/filename.php
Ce fichier ne devrait normalement contenir que le define pour le nom de fichier.
Dans la Creload, nous y placerons aussi le define pour le fichier content/.
Essayez de grouper les define pour les fichiers content avec les contents et le define des noms de fichier avec les autres noms de fichiers.
Essayez également de les maintenir dans le même ordre.
---------------exemple-----------------
define('CONTENT_ACCOUNT', 'account');
define('FILENAME_ACCOUNT', CONTENT_ACCOUNT . '.php');

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

 

 

6. application.top

 

 

7. Ecrans Admin
Généralement ceux-ci n'ont pas besoin de beaucoup de supplément. Mais vous devrez ajouter un rappel de vos instructions d'installation afin de prévenir les administrateurs le cas échéant. Sinon un administrateur ne sera peut être pas capable d'utiliser les écrans.

  

8. Instructions d'installation

 

 

9. Essais
En général peu importe de combien d'essais vous aurez besoin pour faire fonctionner votre contribution. C'est toujours en ayant une idée précise de son fonctionnement et une bonne connaissance du code que vous y arriverez.

Vous devrez tester votre travail sur les deux navigateurs que sont IE et Mozzila/Netscape. Ces deux browsers semblent rattraper la plupart des erreurs de formatage, comme table, td et autres tr tags

 

 

10. Proposez votre module à la communauté Oscommerce


Et comme dirait JeanLuc : Bon code....

O'Neill

 
Notre reseau
» Espace informatique
L'informatique pour les particuliers et les professionnels
» Shop Espace informatique
Votre materiel en ligne au meilleur prix
» Zonealta
L'agence Web - creation de site internet, referencement, hebergement...
» References internet
L'agence Web - Nos realisations ecommerce et sites internet
Nos solutions e-commerce & immobilier
» OSCload 2.0
Solution e-commerce nouvelle generation oscommerce par zonealta
» CREloaded
E-commerce creloaded la communaute creload france
» OSCteam
Communaute regroupant toutes les versions oscommerce
» Forum oscommerce ecommerce
Rejoindre les forums e-commerce avec zonealta
» Joomimmo
Solution joomimmo joomla et immobilier
Informations
» Nous Contacter
» Nous trouver
» Informations legales
» Informatique concarneau
» Informatique bretagne
SBGLT ESPACE INFORMATIQUE - SIRET: 481 935 161 00010 - NOUS CONTACTER - ZONEALTA & ESPACE INFORMATIQUE
23 rue des ecoles 29900 concarneau Telephone : 02 98 60 76 37 Fax : 02 98 50 57 28 contact@zonealta.fr / contact@informatique29.com