Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]



Vous avez des soucis avec votre Opencart v1.5.x, nous pouvons résoudre vos problèmes,
contactez le Bureau France !

par tel: 0 891 690 175 ou par
email

Aide ajout de fonctions

Programmation, discussions et suggestions pour l'amélioration de OpenCart

Aide ajout de fonctions

Messagepar slwsu » 13 Jan 2014, 13:59

Salut a tous,
j'ai un soucis, je cherche a appliquer une fonction sur les descriptions des catégories mais aussi des produits...

J'ai ajouté dans le dossier systeme > library un fichier fonctions.php, il contient 3 fonctions utiles a la modification de mes descriptions...

En suite, j'ai ajouté dans startup.php l'appel de ce fichier fonctions.php

En 1er j'ai regarder la description des catégories dans la vue (category.tpl), j'ai trouver ce code:
Code: Tout sélectionner
<?php if ($description) { ?>
        <?php echo $description; ?>
        <?php } ?>

et j'ai essayé de passer ma fonction comme ceci:
Code: Tout sélectionner
<?php if ($description) { ?>
        <?php $description = spinner($description);?>
        <?php echo $description; ?>
        <?php } ?>

Ce qui n'a pas fonctionné (EDIT: en fait, ca marche, j'ai juste fait une erreur de syntaxe du texte en bdd)

Pour continuer, je me suis rendu au controller de category ou j'ai trouvé cette ligne:
Code: Tout sélectionner
 $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');

que j'ai supprimé pour voir mais la description s'affiche toujours...

Voyant que je ne trouve pas et avant de perdre trop de temps pour rien, je viens vers vous pour m'aider a identifier ce que je n'ai pas compris...
Merci d'avance ;)
Dernière édition par slwsu le 18 Jan 2014, 14:51, édité 2 fois.
openCart 1.5.5.2_fr en locale (wamp)
Aucun module pour le moment
slwsu
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 32
Inscription: 13 Jan 2014, 13:18

Re: Aide ajout de fonctions

Messagepar villagedefrance » 13 Jan 2014, 15:22

Oooooh attention là !

Modifier les fichiers "System" n'est pas vraiment recommandé ! En principe il n'y aura jamais à changer ces fichiers car toutes les modifications peuvent généralement se faire au travers des fichiers "controller" et "model".

Opencart à une architecture MVC trés simple, divisée en 2 groupes principaux: "admin" et "catalog".
Chacun de ces groupes fonctionne de la même facon:
- 1 controller (.php, pour toutes les opérations logiques),
- 1 ou plusieurs language (.php, pour les traductions de variables langage),
- 1 model (.php, pour les requêtes avec la BDD),
- 1 ou plusieurs fichiers template (.tpl (html), pour la présentation).

Donc les catégories par exemple, auront 4 fichiers sous "admin" et 4 fichiers sous "catalog".
- controller/product/category.php
- language/english/product/category.php
- model/product/category.php
- view/theme/default/template/product/category.tpl

Tous ces fichiers sont liés et fonctionnent comme un seul.

Pour faire des modifications, tu peux ajouter des fichiers model, editer le controller, ajouter des fichiers template (pages html)

... mais il est trés rarement nécessaire de changer les dossiers et les fichiers "system".
Image
Site Web (en Anglais) : http://villagedefrance.net
Extensions pour Opencart, toutes versions, en Anglais et en Français.
Boutique basée sur Opencart v1.8.1 Overclocked Edition.
Site hébergé chez http://www.compila.com (UK)
Avatar de l’utilisateur
villagedefrance
Administrateur
Administrateur
 
Messages: 338
Inscription: 05 Avr 2013, 19:03
Localisation: Grande Bretagne

Re: Aide ajout de fonctions

Messagepar LeorLindel » 13 Jan 2014, 15:30

Bonjour,

Je compléterai les dires de villagedefrance en te suggérant de lire ce sujet.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Aide ajout de fonctions

Messagepar slwsu » 13 Jan 2014, 15:46

Ok donc plutôt que des fonction tu préconise l'ajout de classes, pas de soucis.
Partant du principe que je ne cherche a modifier que l'affichage des descriptions coté client, je n'ai logiquement rien a toucher a l'admin ?
openCart 1.5.5.2_fr en locale (wamp)
Aucun module pour le moment
slwsu
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 32
Inscription: 13 Jan 2014, 13:18

Re: Aide ajout de fonctions

Messagepar villagedefrance » 13 Jan 2014, 15:53

C'est correct, juste sous "catalog" les changements dans ce cas.
Image
Site Web (en Anglais) : http://villagedefrance.net
Extensions pour Opencart, toutes versions, en Anglais et en Français.
Boutique basée sur Opencart v1.8.1 Overclocked Edition.
Site hébergé chez http://www.compila.com (UK)
Avatar de l’utilisateur
villagedefrance
Administrateur
Administrateur
 
Messages: 338
Inscription: 05 Avr 2013, 19:03
Localisation: Grande Bretagne

Re: Aide ajout de fonctions

Messagepar slwsu » 13 Jan 2014, 16:03

En suite, sommes nous d'accord que le contrôleur a modifier est: catalog > controller > product > category.php ?
openCart 1.5.5.2_fr en locale (wamp)
Aucun module pour le moment
slwsu
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 32
Inscription: 13 Jan 2014, 13:18

Re: Aide ajout de fonctions

Messagepar villagedefrance » 13 Jan 2014, 16:14

Tout à fait.
Image
Site Web (en Anglais) : http://villagedefrance.net
Extensions pour Opencart, toutes versions, en Anglais et en Français.
Boutique basée sur Opencart v1.8.1 Overclocked Edition.
Site hébergé chez http://www.compila.com (UK)
Avatar de l’utilisateur
villagedefrance
Administrateur
Administrateur
 
Messages: 338
Inscription: 05 Avr 2013, 19:03
Localisation: Grande Bretagne

Re: Aide ajout de fonctions

Messagepar slwsu » 13 Jan 2014, 16:24

Magnifique :D
maintenant, je vais transformer mes 3 fonctions en une classe qui se trouvera ici: catalog > controller > spinner > spinner.php, est-ce toujours ok ?
openCart 1.5.5.2_fr en locale (wamp)
Aucun module pour le moment
slwsu
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 32
Inscription: 13 Jan 2014, 13:18

Re: Aide ajout de fonctions

Messagepar villagedefrance » 13 Jan 2014, 18:10

Ne sachant pas vraiment a quoi ce code "spinner.php" correspond, je ne peux pas te garantir que cela va marcher.

Aussi si tu crée un controller "spinner.php", il te faudra créer un fichier langage correspondant (techniquement facultatif mais recommandé) et un fichier template "spinner.tpl" pour l'afficher en html.

Je dois avouer que je suis un peu confus :?
Image
Site Web (en Anglais) : http://villagedefrance.net
Extensions pour Opencart, toutes versions, en Anglais et en Français.
Boutique basée sur Opencart v1.8.1 Overclocked Edition.
Site hébergé chez http://www.compila.com (UK)
Avatar de l’utilisateur
villagedefrance
Administrateur
Administrateur
 
Messages: 338
Inscription: 05 Avr 2013, 19:03
Localisation: Grande Bretagne

Re: Aide ajout de fonctions

Messagepar slwsu » 13 Jan 2014, 19:23

Hé oui, je comprend que tu sois confus, en réalité mon spinner n'est rien d'autre fonction qui me sert a changer la description a chaque nouvel affichage de la page contenant la description et c'est pour cela que j'ai cherché a modifier certains fichier...

Honettement, j'ai réussi de cette façon:
1) ajout d'un dossier fonction contenant spinner.php dans: systeme
2) appel ce ce fichier de fonction.php dans startup.php
3) modif de category.tpl comme ceci:
Code: Tout sélectionner
<?php if ($description) { ?>
<?php
        $aSpinner = $description;
        $nbResultatSortieMax = 1;
        $nbResultatSortiePossible = resultatPossible($aSpinner);

        // Initialisations des spuns et des possibilités
        $spuns = spinner($aSpinner, $nbResultatSortiePossible, $nbResultatSortieMax);

        foreach ($spuns as $spun) {
        // Affichage des spuns
        echo $spun;
}
?>
<?php } ?>


et le résultat obtenu est celui que je cherche mais mal intégré si je comprends bien :oops:

Le spinner sert a ceci:
j'en registre en bdd un texte sous cette forme:
voici la description n° {1|2|3|4|6} de ma catégorie

Le résultat a la sortie est celui-ci par exemple:
voici la description n° 5 de ma catégorie

A chaque fois que la page est revisité c'est une nouvelle description qui est affiché
openCart 1.5.5.2_fr en locale (wamp)
Aucun module pour le moment
slwsu
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 32
Inscription: 13 Jan 2014, 13:18

Re: Aide ajout de fonctions

Messagepar LIVING » 13 Jan 2014, 19:55

En gros tu fais tourner,spinner, quoi ....LOL :lol:

Pardon pour ce moment d'égarement....C'est la pression :roll:
Image

Sieù Nissart Men Bati - Nissa La Bella !
Opencart Version 1.5.6.1 - cKeditor V4.0
POLISHOP - Responsive Theme
Modules : vQmod V2.3.2 / Blog Manager V 1.3.2 / FrenchColissmo / French Chronopost / Paiement ATOS Sipps - Société Générale.
Exploitation : Version Apache 2.2.24 / Version PHP 5.3.25 / Version PERL 5.10.1
Hébergement : VPN via DECAD.fr Nice
Avatar de l’utilisateur
LIVING
Contrôleur
Contrôleur
 
Messages: 151
Inscription: 16 Juil 2013, 16:46
Localisation: Nice (06)

Re: Aide ajout de fonctions

Messagepar slwsu » 13 Jan 2014, 20:34

non tu as raison lache toi :D
openCart 1.5.5.2_fr en locale (wamp)
Aucun module pour le moment
slwsu
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 32
Inscription: 13 Jan 2014, 13:18

Re: Aide ajout de fonctions

Messagepar slwsu » 15 Jan 2014, 13:12

Petit up, je relance pour savoir si quelqu'un pourrait m'expliquer la procédure logique d'intégration d'une simple fonction ?
openCart 1.5.5.2_fr en locale (wamp)
Aucun module pour le moment
slwsu
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 32
Inscription: 13 Jan 2014, 13:18

Re: Aide ajout de fonctions

Messagepar LeorLindel » 15 Jan 2014, 16:20

Toutes les fonctions sont définies dans les fichiers "controller", exemple :
Code: Tout sélectionner
     public function update() {

Édite un fichier controller d'une page en particulier (product, category, manfacturer, etc...) cela te donnera la marche à suivre.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Aide ajout de fonctions

Messagepar LeorLindel » 15 Jan 2014, 16:21

Toutes les fonctions sont définies dans les fichiers "controller", exemple :
Code: Tout sélectionner
     public function update() {

Édite un fichier controller d'une page en particulier (product, category, manufacturer, etc...) cela te donnera la marche à suivre.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Suivante

Retourner vers Développement

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron