Il semble qu'ils n'ont pas de documentation à l'exception de quelques appels d'API sur leurs forums officiels. J'ai de l'expérience avec le framework Zend et le framework CodeIgniter. Les maîtres OpenCart peuvent-ils me recommander la meilleure façon de l'apprendre et de le maîtriser dans les plus brefs délais? Je dois bientôt faire un gros projet avec.
98
Réponses:
Guide de démarrage rapide du développeur OpenCart 1.5.X pour les débutants
Ce guide est écrit pour les développeurs déjà familiarisés avec PHP, OOP et l'architecture MVC
Dans ce qui suit, vous verrez des exemples pour le côté catalogue du panier. Le côté admin est identique en fonction à l'exception des vues qui sont notées dans la section correspondante
Comprendre les bibliothèques
Toutes les fonctionnalités de la bibliothèque sont accessibles via le contrôleur, le modèle et les vues en utilisant
$this->library_name
. Tous ces éléments peuvent être trouvés dans le/system/library/
dossier. Par exemple, pour accéder aux produits du panier actuel, vous devrez utiliser laCart
classe, qui se trouve dans/system/library/cart.php
et est accessible en utilisant$this->cart->getProducts()
Articles couramment utilisés
customer.php
- Fonctions liées au clientuser.php
- Fonctions liées à l'utilisateur administrateurcart.php
- Fonctions liées au panierconfig.php
- Tous les paramètres sont chargés à partir de ceurl.php
- Fonctions de génération d'URLComprendre le paramètre d'itinéraire
Le cadre d'OpenCart repose sur le
route=aaa/bbb/ccc
paramètre de chaîne de requête pour savoir ce qu'il faut charger, et constitue la fonctionnalité de base pour trouver les fichiers que vous devez modifier pour chaque page. La plupart des routes n'utilisent en fait que leaaa/bbb
qui doit être considéré comme deux parties, mais certaines contiennent trois partiesaaa/bbb/ccc
La première partieaaa
généralement liée au dossier dans un dossier générique tel que les dossiers de contrôleur ou de modèle. La deuxième partie concerne généralement le nom du fichier, sans l' extension.php
ou l'.tpl
extension correspondante. La troisième partie est expliquée dans la section "Comprendre les contrôleurs" ci-dessousComprendre les langues
Les langues sont stockées dans le
/catalog/language/
dossier duyour-language
sous - dossier. Dans ce cadre, les valeurs de texte générales utilisées sur différentes pages sont stockées dans leyour-language.php
fichier à l'intérieur du dossier, de sorte que pour la langue anglaise du côté catalogue, vous trouverez les valeurs danscatalog/language/english/english.php
. Pour un texte de page spécifique, vous aurez besoin duroute
pour la page (c'est généralement le cas, mais pas toujours car vous pouvez spécifier n'importe quel fichier de langue que vous aimez). Par exemple, la page de recherche a l'itinéraireproduct/search
, et par conséquent, le texte spécifique à la langue de cette page peut être trouvé danscatalog/language/english/product/search.php
(Notez que le nom du fichier et le sous-dossier correspondent à l'itinéraire suivi par.php
.Pour charger la langue dans un contrôleur, vous utilisez
Ensuite, vous pouvez utiliser la fonction de bibliothèque de langues
get
pour récupérer des textes de langue spécifiques, tels queLes variables de langue sont affectées dans le fichier de langue à l'aide d'une variable spéciale
$_
qui est un tableau de clés et de valeurs de texte. Dans votre,/catalog/language/english/product/search.php
vous devriez trouver quelque chose de similaire àLes valeurs du fichier de langue global
english/english.php
sont automatiquement chargées et disponibles pour une utilisation sans la$this->language->load
méthodeComprendre les contrôleurs
Les contrôleurs sont chargés en fonction de
route
et sont assez simples à comprendre. Les contrôleurs se trouvent dans le/catalog/controller/
dossier. Dans la continuité du dernier exemple, le contrôleur de la page de recherche se trouve/product/search.php
dans ce dossier. Notez à nouveau que l'itinéraire suivi par.php
est utilisé.En ouvrant le fichier du contrôleur, vous verrez un nom de classe Pascal Case étendant la
Controller
classe, appeléControllerProductSearch
. Ceci est encore une fois spécifique à l'itinéraire,Controller
suivi du nom du sous-dossier et du nom du fichier sans l'extension en majuscule. La capitalisation n'est pas réellement requise, mais elle est recommandée pour une lisibilité facile. Il convient de noter que les noms de classe ne prennent aucune valeur du sous-dossier et du nom de fichier autre que des lettres et des chiffres. Les traits de soulignement sont supprimés.Au sein de la classe se trouvent les méthodes. Les méthodes de la classe déclarée
public
sont accessibles pour être exécutées via la route -private
ne le sont pas. Par défaut, avec une route standard en deux parties (aaa/bbb
ci-dessus), uneindex()
méthode par défaut est appelée. Si la troisième partie d'une route (ccc
ci-dessus) est utilisée, cette méthode sera exécutée à la place. Par exemple,account/return/insert
chargera le/catalog/controller/account/return.php
fichier et la classe, et essaiera d'appeler lainsert
méthodeComprendre les modèles
Les modèles d'OpenCart se trouvent dans le
/catalog/model/
dossier et sont regroupés en fonction de la fonction et non de l'itinéraire, et vous devrez donc les charger dans votre contrôleur viaCela chargera le fichier dans le sous-dossier
xxx
appeléyyy.php
. Il est alors disponible pour être utilisé via l'objetet comme avec les contrôleurs, vous ne pouvez appeler que ses
public
méthodes. Par exemple, pour redimensionner une image, vous utiliseriez letool/image
modèle et appelez saresize
méthode comme suitComprendre l'affectation des variables dans les vues du contrôleur
Afin de transmettre des valeurs à la vue depuis le contrôleur, vous devez simplement affecter vos données à la
$this->data
variable, qui est essentiellement un tableau de paires clé => valeur. Par exempleL'accès à cela dans une vue est un peu facile à comprendre si vous êtes familier avec la méthode extract () qui convertit chaque clé en une variable. Ainsi, la
example_var
clé devient$example_var
et est accessible en tant que telle dans la vue.Comprendre les thèmes
Les thèmes sont disponibles uniquement du côté catalogue et sont essentiellement un dossier de modèles, de feuilles de style et d'images de thèmes. Les dossiers de thèmes sont placés dans le
/catalog/view/theme/
dossier suivi du nom du thème. Le nom du dossier n'a pas d'importance à l'exception dudefault
dossierLe côté administrateur utilise
/admin/view/template/
(en sautant/theme/theme-name/
du chemin car il n'autorise pas des thèmes différents)Les fichiers de modèle résident dans un
template
dossier du dossier de thème. Si un modèle n'est pas disponible pour le thème actuellement sélectionné, le modèle du dossier par défaut est utilisé à la place comme solution de secours. Cela signifie que les thèmes peuvent être créés avec très peu de fichiers et fonctionner toujours pleinement. Cela réduit également la duplication du code et les problèmes lors des mises à niveauComprendre les vues (modèles)
Comme pour le langage et les modèles, les fichiers de vue sont généralement liés à l'itinéraire, bien que cela ne soit pas du tout nécessaire. Les modèles du côté catalogue se trouvent généralement dans
/catalog/view/theme/your-theme/template/
sauf s'il n'existe pas, auquel cas les modèles du thème par défaut seront utilisés. Pour notre exemple de page de recherche ci-dessus, le fichier estproduct/search.tpl
. Pour les itinéraires en trois parties, c'est généralementaaa/bbb_ccc.tpl
bien qu'il n'y ait pas de règle fixe. Dans l'administrateur, la plupart des pages suivent cela, à l'exception des pages répertoriant des éléments, comme la page de liste des produits,catalog/product_list.tpl
et le formulaire de modification du produitcatalog/product_form.tpl
. Encore une fois, ceux-ci ne sont pas définis, mais une norme pour le panier par défaut.Le fichier modèle est en fait juste un autre fichier php, mais avec une extension .tpl et est en fait exécuté dans le fichier du contrôleur, par conséquent, toutes les choses que vous pouvez coder dans un contrôleur peuvent être exécutées dans un fichier modèle (bien que ce ne soit pas recommandé sauf si nécessaire)
Comprendre l'objet de base de données
Les requêtes sont exécutées à l'aide de
DB_PREFIX
comme son nom l'indique est une constante contenant le préfixe de la base de données s'il en existe un$result
renverra un objet pour lesSELECT
requêtes, contenant quelques propriétés$result->row
contient les données de la première ligne si une ou plusieurs sont renvoyées sous forme de tableau associatif$result->rows
contient un tableau de résultats de ligne, idéal pour boucler en utilisant foreach$result->num_rows
contient le nombre de résultats retournésIl existe également quelques méthodes supplémentaires dont
$this->db
dispose l' objet$this->db->escape()
utilise mysql_real_escape_string () sur la valeur passée$this->db->countAffected
renvoie le nombre de lignes affectées par uneUPDATE
requête et ainsi de suite$this->db->getLastId()
renvoie le dernier identifiant d'incrémentation automatique en utilisant mysql_insert_id ()Comprendre les variables réservées
OpenCart a des variables prédéfinies à utiliser à la place de la norme
$_GET
,$_POST
,$_SESSION
,$_COOKIE
,$_FILES
,$_REQUEST
ET$_SERVER
$_SESSION
est édité en utilisant$this->session->data
où data est un tableau associatif imitant le$_SESSION
Tous les autres sont accessibles en utilisant
$this->request
et ont été "nettoyés" pour se conformer aux guillemets magiques activés / désactivés, donc$_GET
devient$this->request->get
$_POST
devient$this->request->post
$_COOKIE
devient$this->request->cookie
$_FILES
devient$this->request->files
$_REQUEST
devient$this->request->request
$_SERVER
devient$this->request->server
Résumé
Bien que ce qui précède ne soit pas un guide à toute épreuve pour les développeurs, j'espère qu'il servira de bon point de départ pour ceux qui commencent.
la source
Méthodes de bibliothèque globale: Fonctions de base de la bibliothèque opencart avec leurs fonctionnalités, la plupart d'entre elles peuvent être appelées de n'importe où dans le catalogue ou les dossiers d'administration (contrôleurs, modèles, vues)
la source
Il existe un site Web OpenCart Wiki avec de la documentation pour les développeurs débutants. Suivez les URL ci-dessous pour plus de détails:
http://wiki.opencarthelp.com/doku.php?id=starthttp://wiki.opencarthelp.com/doku.php?id=methods_referenceLIENS D'ARCHIVES INTERNET
http://web.archive.org/web/20160305131349/http://wiki.opencarthelp.com/doku.php?id=start http://web.archive.org/web/20160305131349/http://wiki .opencarthelp.com / doku.php? id = method_reference
Par exemple, la référence de la méthode contient des détails pour:
Il y a encore quelques pages en construction mais ça va être utile.
[Mettre à jour]
Depuis janvier 2018, le domaine opencarhelp.com est en panne.
la source
Bien que ce sujet ait déjà reçu de nombreuses réponses, je voudrais proposer une autre approche de la maîtrise d'OpenCart basée sur mon expérience.
Apprentissage par la pratique
En créant votre propre framework OpenCart à partir de zéro avec une poignée de fichiers, vous pouvez comprendre comment tout est assemblé. Je vais imiter la structure de fichiers d'OpenCart pour vous.
Créer un fichier
index.php
1. Registre
Opencart utilise le modèle de registre pour répertorier toutes les instances des classes chargées. C'est le cœur de votre application OpenCart. L'objet de registre est ensuite transmis à chaque catégorie, modèle et bibliothèque pour un accès rapide à d'autres objets.
créer un fichier avec chemin
/system/engine/registry.php
dans votre
index.php
2. Sortie
Ajoutons maintenant une sortie qui sera notre HTML à l'avenir. Après tout, l'idée est d'envoyer une chaîne de texte au navigateur.
Créer un fichier
system/library/response.php
et dans votre
index.php
3. Contrôleurs
Considérez les contrôleurs comme des pages. Ils définiront ce qui sera affiché au client: texte, html, json, téléchargement ou même une image. Pour l'instant, nous voulons juste une page qui envoie du texte.
Nous allons créer un contrôleur pour la
home
page.ajouter un fichier avec chemin
catalog/controller/common/home.php
et modifiez votre
index.php
4. Routeur
Nous ne voulons pas que les contrôleurs soient codés en dur, n'est-ce pas. Nous utiliserons un paramètre
route
de l'adresse URL pour indiquer à notre panier quel contrôleur charger.Créer un fichier avec chemin
system/library/request.php
Créez la classe Router qui sera responsable de l'initialisation du fichier Controller en fonction de la route (en d'autres termes: appelez dynamiquement le contrôleur)
chargez-le dans votre
index.php
Cet article est déjà trop long, mais j'espère qu'il donnera une compréhension de base du modèle MVC dans OpenCart.
Consultez également mon Youtube https://www.youtube.com/dreamvention et mon blog https://dreamvention.com/blog Je publierai plus de conseils et de tutoriels là-bas pour vous les gars!
la source
PHP est un langage assez volumineux avec plus de 5000 fonctions intégrées, donc une stratégie pour apprendre une nouvelle plate-forme consiste à identifier les fonctions qu'elle utilise le plus fréquemment et à passer du temps à les connaître très bien.
J'ai exécuté quelques requêtes sur le code source d'OpenCart et les 10 fonctions les plus couramment utilisées sont:
Les 52 commandes répertoriées ici ainsi que les commandes bash Linux que vous pouvez utiliser sur n'importe quelle base de code pour identifier les fonctions couramment utilisées: https://www.antropy.co.uk/blog/efficace-learning-for-new-opencart-developers/
la source
Cette liste de lecture de vidéos youtube peut également être utile pour devenir des développeurs OpenCart Gurus:
Tutoriels Vidéos OpenCart
Modèle MVCL, flux de code et demande et réponse dans OpenCart Il montre le modèle MVCL, flux de code et demande et réponse dans OpenCart. Ils décrivent le flux comme dans l'image ci-dessous:
Installer, configurer et désinstaller le module Opencart Il montre trois façons de télécharger des modules, puis d'installer, de configurer et de désinstaller le module / extension OpenCart 3.
Dispositions et position dans Opencart 3 Il décrit les dispositions et les positions d'OpenCart 3. Il montre comment afficher des mises en page personnalisées pour différentes pages, en donnant des exemples de pages de catégories. Nous montrons la disposition différente pour une catégorie différente.
Aperçu des événements d'OpenCart Vous apprendrez quels événements sont dans OpenCart, comment ils fonctionnent et ce qui les rend si utiles.
Documentation de l'API Opencart pour les développeurs Cette vidéo montrera comment utiliser et créer une API opencart personnalisée
Une fois que vous voyez ces vidéos, vous pouvez commencer à coder :)
la source