Aller au contenu
Invision Board France

Tutoriel de création d'application


Tamplan

Messages recommandés

Nom du fichier : Tutoriel de création d'application

Auteur du fichier : Tamplan

Date d'ajout du fichier : 22 jui 2009

Date de mise à jour du fichier : 23 jui 2009

Catégorie du fichier : 3.0 Applications

Auteur: Tamplan

 

Ce tutoriel présente les différentes étapes nécessaires à la création d'une application additionnelle pour le forum IP.Board.

 

L'application présentée ici est volontairement simpliste et est plutôt destinée à servir de modèle pour la création d'une application plus complexe.

 

Instructions :

 

- Lire complétement et attentivement le fichier 'LisezMoi.html' fourni.

 

Redistribution sans autorisation formellement interdite !

 

Cliquez ici pour télécharger ce fichier

Lien vers le commentaire
Partager sur d’autres sites

Tamplan c'est génial ce que tu as fait.

L'installation est très rapide. Merci pour le fichier d'aide complet ainsi que tous les commentaires que tu as fait sur le code.

 

Par contre quelques questions subsistes. Dans mon cas, je souhaite ajouter plusieurs pages, comment dois-je procéder ? Je pense qu'il faut faire plusieurs installe mais après avoir juste renommer le dossier cms en cms2 pour faire une nouvelle installe, la nouvelle page ne fonctionne pas, je suis rebalancé sur l'index quand je clique sur le lien de celle-ci.

Quelle(s) page(s) dois-je modifier pour ajouter mon contenu ?

 

Merci à toi !

 

Zef <_<

Modifié par Youp3
message déplacé
Lien vers le commentaire
Partager sur d’autres sites

Zef,

 

Dans '\admin\applications_addon\other\cms\modules_public\view\index.php', tu as la fonction :

public function doExecute( ipsRegistry $registry )
{
	// On traite nos actions
	switch( $this->request['do'] )
	{
	  // action url...&do=page1
		case 'page1':
			$this->ShowPage1();
			break;
	  // action url...&do=page2
		case 'page1':
			$this->ShowPage2();
			break;
	  // etc
		default:
			$this->WelcomePage();
			break;
	}	

}

// Contenu de la page 2
private function ShowPage1()
{
}

// Contenu de la page 2
private function ShowPage2()
{
}

// etc

// Contenu de la page par défaut
private function WelcomePage()
{
}

Tu aurais donc les urls suivantes :

-http://www.nom_de_domain/index.php?app=cms&module=view&section=index&do=page1

-http://www.nom_de_domain/index.php?app=cms&module=view&section=index&do=page2

-http://www.nom_de_domain/index.php?app=cms&module=view&section=index => page par défaut

 

Voili, voilou ;)

Lien vers le commentaire
Partager sur d’autres sites

Ok, dans la fonction WelcomePage(), tu as :

$this->registry->output->addContent( $this->output );

Avant, tu peut utiliser :

// Début de la page
$this->output .= <<<EOF
le contenu de la page avec tout pleins de ", de ' ou des images, bref la page en html
page que tu fais avec tes petits doigts...
EOF;

Voili, voilou ;)

Lien vers le commentaire
Partager sur d’autres sites

Tamplan niquel le code pour personnaliser mes pages.

 

Par contre j'ai pas compris comment je faisais plusieurs pages ... J'ai bien modifier mon code, par contre je ne comprends pas trop à quel endroit je mets mon texte ou mes images pour la page 1, à quel endroit je dois modifier pour la page 2, etc ... Bref comment intégrer mon code .. J'ai réussi dans le cas ou il y a qu'une page (code que tu m'as fourni en premier), mais quand il y en a plusieurs j'ai pas réussi.

 

Merci beaucoup de ton aide !

 

Zef ;)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

clapclap.gif Tamplanclapclap.gif

 

Merci merci merci merci 1000 fois, avec ce tutoriel tu m'enlève une épine, que dis-je, un arbre du pieds, je vais enfin pouvoir m'amuser :'(

 

Par contre, j'ai plusieurs question (2 pour l'instant) :

Un peu partout, tu utilise des trucs genre :

- addContent ($this->registry->output->addContent( $this->output ):'(

- WelcomePage

- setTitle ($this->registry->output->setTitle( $this->lang->words['cms_title'] )

Etc...

Aurais tu une liste de tout ce qui existe ? Ou où les trouver ?

 

Seconde question :

Dans ce code : $this->output qu'est ce "->" ? Pas moyen de trouve la doc sur ce symbole, sa fonction etc...

 

Merci !

 

- l0l0 -

Modifié par lolo-le-haricot
Lien vers le commentaire
Partager sur d’autres sites

Tamplan niquel le code pour personnaliser mes pages.

 

Par contre j'ai pas compris comment je faisais plusieurs pages ... J'ai bien modifier mon code, par contre je ne comprends pas trop à quel endroit je mets mon texte ou mes images pour la page 1, à quel endroit je dois modifier pour la page 2, etc ... Bref comment intégrer mon code .. J'ai réussi dans le cas ou il y a qu'une page (code que tu m'as fourni en premier), mais quand il y en a plusieurs j'ai pas réussi.

 

Merci beaucoup de ton aide !

 

Zef :rolleyes:

Est-ce que tu as trouvé comment faire car j'ai oublié de te répondre ?

Lien vers le commentaire
Partager sur d’autres sites

Un peu partout, tu utilise des trucs genre :

- addContent ($this->registry->output->addContent( $this->output ):rolleyes:

- WelcomePage

- setTitle ($this->registry->output->setTitle( $this->lang->words['cms_title'] )

Etc...

Aurais tu une liste de tout ce qui existe ? Ou où les trouver ?

Il suffit de regarder le code source du forum et de lire tous les articles sur le site IPS Resource.

 

Seconde question :

Dans ce code : $this->output qu'est ce "->" ? Pas moyen de trouve la doc sur ce symbole, sa fonction etc...

Ce symbole sert à indiquer quelle fonction de tel ou tel objet tu veux utiliser. Il va te falloir des notions de php et notamment de programmation orientée objet.

Voici un lien : [POO] Programmez OO en PHP !.

 

Si je veux ajouter du contenu dynamique dedans, comment faire ?

Par exemple, je veux afficher la valeur d'une variable, ça, ça ne marchera pas :

$variable = "test";
$this->output .= <<<EOF $varibable EOF;

En écrivant comme cela, non en effet, ça ne fonctionnera pas.

Voici quelques exemples :

$ma_variable1 = "C'est cool";

$ma_variable1 = 'C\'est cool'; // ici on échappe l'apostrophe contenu dans la variable sinon ça foire.

$ma_variable2 = 'Un truc "plutôt" cool'; // pas de soucis ici

$ma_variable2 = "Un truc \"plutôt\" cool"; // ici on échappe les guillemets contenus dans la variable sinon ça foire.

$ma_variable_longue = <<< EOF
C'est cool
Un truc "plutôt" cool
EOF;

// Ici tout ce qui est entre les 2 EOF est mis dans la variable $ma_variable_longue

$ma_variable = $ma_variable1 . $ma_variable2; // On a C'est coolUn truc "plutôt" cool

$ma_variable = $ma_variable1 . '<br />' . $ma_variable2; // On a C'est cool + un retour à la ligne + Un truc "plutôt" cool

$ma_variable_longue = <<< EOF
C'est cool
{$ma_variable2}
EOF;

// On a C'est coolUn truc "plutôt" cool => {$ma_variable2} veut dire "contenu de la variable" $ma_variable2

Voili, voilou

Lien vers le commentaire
Partager sur d’autres sites

Un peu partout, tu utilise des trucs genre :

- addContent ($this->registry->output->addContent( $this->output ):rolleyes:

- WelcomePage

- setTitle ($this->registry->output->setTitle( $this->lang->words['cms_title'] )

Etc...

Aurais tu une liste de tout ce qui existe ? Ou où les trouver ?

Il suffit de regarder le code source du forum et de lire tous les articles sur le site IPS Resource.

Ah, ok, je pensais qu'il existait une liste quelque part ^^

 

Seconde question :

Dans ce code : $this->output qu'est ce "->" ? Pas moyen de trouve la doc sur ce symbole, sa fonction etc...

Ce symbole sert à indiquer quelle fonction de tel ou tel objet tu veux utiliser. Il va te falloir des notions de php et notamment de programmation orientée objet.

Voici un lien : [POO] Programmez OO en PHP !.

Impec', merci, car je n'ais rien trouvé dans la doc de PHP.

 

Si je veux ajouter du contenu dynamique dedans, comment faire ?

Par exemple, je veux afficher la valeur d'une variable, ça, ça ne marchera pas :

$variable = "test";
$this->output .= <<<EOF $varibable EOF;

En écrivant comme cela, non en effet, ça ne fonctionnera pas.

Voici quelques exemples :

$ma_variable1 = "C'est cool";

$ma_variable1 = 'C\'est cool'; // ici on échappe l'apostrophe contenu dans la variable sinon ça foire.

$ma_variable2 = 'Un truc "plutôt" cool'; // pas de soucis ici

$ma_variable2 = "Un truc \"plutôt\" cool"; // ici on échappe les guillemets contenus dans la variable sinon ça foire.

$ma_variable_longue = <<< EOF
C'est cool
Un truc "plutôt" cool
EOF;

// Ici tout ce qui est entre les 2 EOF est mis dans la variable $ma_variable_longue

$ma_variable = $ma_variable1 . $ma_variable2; // On a C'est coolUn truc "plutôt" cool

$ma_variable = $ma_variable1 . '<br />' . $ma_variable2; // On a C'est cool + un retour à la ligne + Un truc "plutôt" cool

$ma_variable_longue = <<< EOF
C'est cool
{$ma_variable2}
EOF;

// On a C'est coolUn truc "plutôt" cool => {$ma_variable2} veut dire "contenu de la variable" $ma_variable2

Voili, voilou

Tiens, c'est marrant, je viens de tester ce qui suis, et ça fonctionne :

$variable = 12345;
$this->output .= <<<EOF
$variable
EOF;

Mais bon, je vais utiliser les accolades, ça dois sans doute être utile à quelque chose ^^

 

Bon, ben y'a plus qu'a :'(

 

Merci !

Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...
  • 3 mois après...

Bonjour j'ai commencé à tester ce tutoriel pour afficher du texte ok ça fonctionne mais je souhaiterais afficher les résultats d'une requete dans une base de donnée extérieure à IPB, quelle serait la méthode la plus propre car je tâtonne en php.

Merci.

Lien vers le commentaire
Partager sur d’autres sites

  • Administration

Bonjour,

 

il faut créer une nouvelle connexion MySQL pour se connecter sur la base externe. Après pour lancer les requêtes, ce sont les mêmes fonction que celles utilisées par le forum.

Lien vers le commentaire
Partager sur d’autres sites

effectivement explication très clair merci tamplan ;)

 

cependant j'ajouterais la petite explication sur le \ car si on en met pas çà foire oui mais pourquoi ? :

 

$ma_variable1 = 'C\'est cool';

 

on est obligé de mettre un \ comme nous l'explique tamplan car $ma_variable1 utilise ce qui est défini entre ' et ' ou " et " donc si on met 'salut' effectivement pas de soucis mais comme le dit tamplan avec ceci => 'C'est cool' çà foire

 

effectivement la variable vas prendre en compte a partir du premier => ' jusqu'au 2e ' (et pareil avec les " et ") donc uniquement C et le reste du code vas générer une erreur car cela deviens illisible pour la variable et ceci est logique quand on analyse la chose ;)

 

voila pourquoi il nous faut mettre un \ :P

 

C'est mon coté "j'aime savoir pourquoi si et pourquoi çà" lol

 

dsl :P

Lien vers le commentaire
Partager sur d’autres sites

  • Administration

Sinon tu utilises le code suivant :

$ma_variable1 = "C'est cool";

 

Par contre il faudra mettre un \ devant les guillemets doubles si la variable en contient. ;)

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...

Information importante

En utilisant ce site, vous êtes d’accords avec nos Conditions d’utilisation. Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookies, sinon nous supposerons que vous êtes d’accord pour continuer.