Gérer les champs additionels

De NETIM
Aller à : Navigation, rechercher

Sommaire

Fleche.gif Introduction

Certaines extensions ont besoins d'informations additionnelles pour être enregistrées. Nous allons voir ici comment vous pouvez configurer BoxBilling pour être en mesure de vendre ces extensions.

Fleche.gif Comment procéder?

1. La première étape est de regarder sur cette page si l'extension que vous voulez vendre à besoin d'informations supplémentaires.

Liste des extensions ayant besoin d'informations additionnelles (en anglais)

2. Deux possibilités:

- L'extension que vous voulez vendre n'est pas sur cette page, félicitation vous n'avez rien de plus à configurer.

- L'extension que vous voulez vendre est sur cette page, il vous faut vous rendre sur le lien de l'extension pour avoir de plus amples informations.

3. Sur la page de l'extension, cherchez la section Semantic rules for the API et la sous-section Contacts. Ici vous trouverez les informations dont vous avez besoin.

4. Une fois que vous avez ces informations, il va vous falloir modifier le fichier mod_servicedomain_order_form.phtml (le chemin du fichier est votre_installation_boxbilling/bb-modules/ServiceDomain/html_client/). Il vous faudra insérer trois morceaux de texte (que nous appelerons extrait de code par la suite) pour que la configuration soit complète.

Extrait de code numero 1

- insérer ce code

    <div id="additionalFields"></div>

comme indiqué dans l'image ci-dessous.

BB additional fields1.gif

Extrait de code numero 2

- insérez ce code

    $('#additionalFields').html(handleAdditionalFields(tld));

BB additional fields2.gif

comme indiqué dans l'image ci-dessus.

Extrait de code numero 3

Cette étape est la plus délicate car vous aurez à remplir vous même une partie du code pour ajouter les informations dont vous avez besoin.

Ci-dessous un example pour vous montrer ce qu'il faut faire pour vendre du .sk et du .aero. Avec ces deux exemples vous serez en mesure d'adapter le code à vos besoins.

Example pour .sk et .aero

- insérez ce code

        function handleAdditionalFields(tld)
	{
		returnValue = '';
		if(tld == '.sk')
		{
			returnValue += "<label>Statut</label>" +
							"<select id='bodyForm' name='bodyForm'>" +
								"<option value='ORG'>Organisation</option>" +
								"<option value='IND'>Personne physique</option>" +
							"</select>";
			returnValue += "<label>Numéro d'entreprise (si applicable)</label><input type='text' id='companyNumber' name='companyNumber'/>";
		}
		else if(tld == '.aero')
		{
			returnValue += "<label>AERO_AUTHID</label><input type='text' id='AERO_AUTHID' name='AERO_AUTHID' required=required/>";
			returnValue += "<label>AERO_AUTHKEY</label><input type='text' id='AERO_AUTHKEY' name='AERO_AUTHKEY' required=required/>";
		}
		return returnValue;
	}

comme montré dans l'image ci-dessous.

BB additional fields3.gif

Adapter à vos besoins

Pour adapter à vos besoin, voici les étapes:

1. Partons du principe que vous avez déjà inséré le code de l'exemple et que vous voulez l'étendre pour vendre l'extension UA

2. Dans la section Semantic rules for the API puis Contacts, vous voyez que pour enregistrer ce domaine, il faut que le propriétaire du domaine renseigne les champs:

- nom de trademark (tmName)

- numéro de trademark (tmNumber)

- type de trademark (tmType)

3. Il ne nous reste plus qu'a modifier le code pour prendre en compte ces changements.

Tout d'abord, il faut rajouter un cas dans la fonction pour dire que l'on veut traiter le UA

                // Gérer le UA
                else if(tld == '.ua')
                {
                        // A COMPLETER
                }

Puis à l'intérieur de ce bloc, nous allons rajouter trois champs de texte pour récupérer les informations nécessaire.

                // Gérer le UA
                else if(tld == '.ua')
                {
                        //Pour le nom de trademark
                        returnValue += "<label>Nom de trademark</label><input type='text' id='tmName' name='tmName'/>
                        //Pour le numero de trademark
                        returnValue += "<label>Numéro de trademark</label><input type='text' id='tmNumber' name='tmNumber'/>
                        //Pour le type de trademark
                        returnValue += "<label>Type de trademark</label><input type='text' id='tmType' name='tmType'/>
                }

Le code complet pour le .sk, le .aero et le .ua

        function handleAdditionalFields(tld)
	{
		returnValue = '';
		if(tld == '.sk')
		{
			returnValue += "<label>Statut</label>" +
							"<select>" +
								"<option value='ORG'>Organisation</option>" +
								"<option value='IND'>Personne physique</option>" +
							"</select>";
			returnValue += "<label>Numéro d'entreprise (si applicable)</label><input type='text' id='companyNumber' name='companyNumber'/>";
		}
		else if(tld == '.aero')
		{
			returnValue += "<label>AERO_AUTHID</label><input type='text' id='AERO_AUTHID' name='AERO_AUTHID' required=required/>";
			returnValue += "<label>AERO_AUTHKEY</label><input type='text' id='AERO_AUTHKEY' name='AERO_AUTHKEY' required=required/>";
		}
                // Gérer le UA
                else if(tld == '.ua')
                {
                        //Pour le nom de trademark
                        returnValue += "<label>Nom de trademark</label><input type='text' id='tmName' name='tmName'/>
                        //Pour le numero de trademark
                        returnValue += "<label>Numéro de trademark</label><input type='text' id='tmNumber' name='tmNumber'/>
                        //Pour le type de trademark
                        returnValue += "<label>Type de trademark</label><input type='text' id='tmType' name='tmType'/>
                }
		return returnValue;
	}

Fleche.gif Les informations importantes à retenir

1. Entre le champs <label> et </label> il faut mettre un texte qui va être visible pour le client et qui décrit les informations qu'il doit remplir.

Ici par exemple on met Nom de trademark ou encore Numéro de trademark. Vous pouvez mettre tout ce que vous voulez mais nous vous conseillons de mettre du texte clair pour vos clients.

A savoir aussi, le texte que vous mettez à cet endroit sera le même quelque soit la langue du client donc si vous avez une clientèle anglophone, nous vous conseillons de privilégier les textes en anglais. (En cours d'amélioration)

2. Dans la balise <input, le texte que vous mettez après id= et name= doit être le nom du champ tel qu'écrit sur le wiki de Netim. Ici par exemple, tmName, tmNumber et tmType respectivement.

3. La balise <select> permet de faire une liste déroulante (comme dans l'exemple du .sk) pour ne pas laisser écrire les informations par le client mais pour lui laisser le choix parmi une liste. Tout comme la balise <input, le texte que vous mettez après id= et name= doit être le nom du champ tel qu'écrit sur le wiki de Netim.

Outils personnels
Espaces de noms

Variantes
Actions
Votre compte
Noms de domaine
Certificats SSL
Hébergement Web
Messagerie SPAMORA
Website Builder
Revendeurs
Affiliation
Contacter le support
Divers