Comment devenir un OpenCart gourou?
Il semble qu'ils ont pas de documentation à l'exception de certains appels d'api sur leur forum officiel. J'ai de l'expérience avec le Zend framework et CodeIgniter framework. Peut-OpenCart maîtres recommandent moi la meilleure façon de l'apprendre et de le maître dans le plus court laps de temps? Je dois faire un gros projet avec elle bientôt.
- Voir docs.opencart.com, et le vue d'ensemble de framework par Qphoria. Aussi naviguer à travers les fils de discussion sur OpenCart les Forums > Soutien. Dans l'avenir, j'espère que nous allons avoir un dédié OpenCart SE site area51.stackexchange.com/proposals/77558/opencart
- C'est vraiment une question importante, parfois surmonté de normes est vraiment utile...
- Merci beaucoup pour cette question, il m'a beaucoup aidé
- Je suis heureux! On dirait que c'est une question populaire maintenant!
Vous devez vous connecter pour publier un commentaire.
OpenCart 1.5.X developer guide de démarrage rapide pour les débutants
Ce guide est écrit pour les développeurs déjà familier avec PHP, programmation orientée objet et de l'architecture MVC
Dans ce qui suit, vous verrez des exemples pour le catalogue côté du chariot. L'admin côté est identique dans la fonction, à l'exception de la vue qui est indiqué dans la section pertinente
Compréhension Des Bibliothèques
L'ensemble de la bibliothèque de la fonctionnalité est accessible via le Contrôleur, le Modèle et les Vues à l'aide de
$this->library_name
. Tous ces éléments peuvent être trouvés dans la/system/library/
dossier. Par exemple, pour accéder au panier de produits, vous aurez besoin d'utiliser laCart
classe, qui est en/system/library/cart.php
et peut être consulté à l'aide de$this->cart->getProducts()
Couramment utilisés des éléments de
customer.php
- Client, les fonctions liéesuser.php
- Admin relatives à l'utilisateur des fonctions decart.php
- Panier fonctions liées à laconfig.php
- Tous les paramètres sont chargés à partir de cetteurl.php
- URL fonctions de générationLa compréhension de l'itinéraire paramètre
OpenCart-cadre s'appuie sur la
route=aaa/bbb/ccc
dans le paramètre de chaîne de requête pour savoir ce à charger, et est à la base de la fonctionnalité de trouver les fichiers que vous devez modifier pour chaque page. Plus la route est en fait seulement utiliser leaaa/bbb
qui doivent être considérées comme les deux parties, cependant, certains contiennent trois partiesaaa/bbb/ccc
La première partieaaa
généralement liée au dossier dans un dossier générique tel que le contrôleur ou le modèle de dossiers. La deuxième partie se rapporte généralement à un nom de fichier, sans que la.php
ou.tpl
extension. La troisième partie est expliquée dans la section "Compréhension des contrôleurs" ci-dessousCompréhension des langues
Langues sont stockés dans
/catalog/language/
dossier dans leyour-language
sous-dossier. Dans cette, général des valeurs de texte utilisé sur les différentes pages sont stockées dans leyour-language.php
fichier dans le dossier, alors que pour la langue anglaise sur le catalogue de côté, vous trouverez les valeurs decatalog/language/english/english.php
. Pour certains de texte de la page, vous aurez besoin de laroute
de la page (Ce qui est généralement le cas, mais pas toujours comme vous pouvez spécifier un fichier de langue que vous souhaitez). Par exemple, la page de recherche est la routeproduct/search
, et donc la langue d'un texte spécifique pour que la page peut être trouvé danscatalog/language/english/product/search.php
(Notez le nom du fichier et sous-dossier de match de l'itinéraire suivi par.php
.À la charge de la langue dans un contrôleur, vous utilisez
Ensuite, vous pouvez utiliser la bibliothèque de langue de la fonction
get
pour récupérer spécifiques de la langue des textes, tels queLa langue des variables sont assignées dans la langue de fichier à 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 dans la langue mondiale du fichier
english/english.php
sont automatiquement chargées et disponibles pour une utilisation sans la$this->language->load
méthodeCompréhension des contrôleurs de
Les contrôleurs sont chargés d'après le
route
et sont assez simple à comprendre. Les contrôleurs sont situés dans le/catalog/controller/
dossier. Continuant à partir de l'exemple précédent, le Contrôleur de la page de Recherche est en/product/search.php
dans ce dossier. À nouveau, remarquez que la route suivie par.php
est utilisé.De l'ouverture du fichier contrôleur, vous verrez un Pascal Cas classname l'extension de la
Controller
classe, appeléeControllerProductSearch
. Ce qui est spécifique à la route, avecController
suivi par le nom du sous-dossier et nom du fichier sans l'extension en majuscule. La capitalisation n'est pas réellement nécessaire, mais il est recommandé pour une meilleure lisibilité. Il est intéressant de noter que les noms de classe de ne pas prendre toutes les valeurs du sous-dossier et nom de fichier autre que des lettres et des chiffres. Des traits de soulignement sont supprimés.Au sein de la classe sont les méthodes. Méthodes de la classe déclarée
public
sont accessibles à exécuter via la voie -private
ne le sont pas. Par défaut, avec un standard de deux partie de l'itinéraire (aaa/bbb
ci-dessus), un défautindex()
méthode est appelée. Si la troisième partie de l'itinéraire (ccc
ci-dessus) est utilisée, cette méthode sera exécuté à la place. Par exemple,account/return/insert
charge la/catalog/controller/account/return.php
fichier et de la classe, et essayez d'appeler lainsert
méthodeCompréhension Des Modèles
Modèles de OpenCart sont trouvés dans la
/catalog/model/
dossier et sont regroupés selon leur fonction, pas de route, et, par conséquent, vous aurez besoin de les charger dans votre contrôleur viaCela va charger le fichier dans le sous-dossier
xxx
appeléyyy.php
. Il est alors disponible pour utilisation par l'intermédiaire de l'objetet comme avec les contrôleurs, vous pouvez uniquement appeler son
public
méthodes. Par exemple, pour redimensionner une image, vous devez utiliser latool/image
modèle et appeler saresize
méthode comme suitCompréhension affectation de variable dans les vues à partir du contrôleur de
Afin de transmettre des valeurs à la vue du contrôleur, vous avez simplement besoin de céder vos données à l'
$this->data
variable, qui est essentiellement un tableau de la forme clé => valeur des paires. Comme un exempleAccéder à cette vue est un peu doit être facile à comprendre si vous êtes familier avec le extrait() méthode qui transforme chaque clé dans une variable. Ainsi, le
example_var
clé devient$example_var
et peut être consulté en tant que tel dans la vue.Compréhension des thèmes
Thèmes sont disponibles au catalogue côté seulement, et sont essentiellement un dossier de modèles, feuilles de style et le thème des images. Thème dossiers sont placés dans le
/catalog/view/theme/
dossier suivi par le nom du thème. Le nom du dossier n'est pas de l'importance à l'exception de ladefault
dossierL'admin côté utilise
/admin/view/template/
(le saut de l'/theme/theme-name/
de la voie qu'elle ne permet pas aux différents thèmes)Modèle fichiers résident dans un
template
dossier dans le dossier du thème. Devrait tout modèle de ne pas être disponibles pour le thème sélectionné, le dossier par défaut du modèle est utilisé plutôt comme une solution de repli. Cela signifie que les thèmes peuvent être créés avec très peu de fichiers et continuer à fonctionner pleinement. Il réduit également la duplication de code et les questions que les mises à niveau sont effectuéesLa compréhension de points de vue (des modèles)
Comme avec la langue et les modèles, le fichier de vue sont, en général, liés à la route, même si n'avez pas à être à tous. Modèles dans le catalogue de côté sont généralement trouvés dans
/catalog/view/theme/your-theme/template/
à moins qu'il n'existe pas, auquel cas la valeur par défaut du thème de modèles seront utilisés. Pour notre page de recherche de l'exemple ci-dessus, le fichier estproduct/search.tpl
. Pour les itinéraires en trois parties, il est généralement dansaaa/bbb_ccc.tpl
s'il n'y a pas de règle établie. Dans l'admin, la plupart des pages de suivre cette procédure, à l'exception que les pages contenant la liste des éléments, comme les pages produits, sont danscatalog/product_list.tpl
et le produit de la modification est danscatalog/product_form.tpl
. Encore une fois, ce ne sont pas ensemble, mais un standard pour la cart par défaut.Le fichier de modèle est en fait juste un autre fichier php, mais avec un .tpl extension et est exécuté dans le fichier de contrôleur, par conséquent, toutes les choses que vous pouvez de code dans un contrôleur peut être exécuté dans un fichier de modèle (mais pas recommandé, sauf si absolument nécessaire)
La compréhension de 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 base de données si celle-ci existe$result
retourne un objet pourSELECT
requêtes, contenant quelques propriétés$result->row
contient la première ligne de données si un ou plusieurs sont retournées dans un tableau associatif$result->rows
contient un tableau de ligne des résultats, idéal pour la lecture en boucle sur l'utilisation de foreach$result->num_rows
contient le nombre de résultats retournésIl y a aussi quelques méthodes supplémentaires de la
$this->db
objet a$this->db->escape()
utilise mysql_real_escape_string() sur la valeur passée$this->db->countAffected
retourne le nombre de lignes affectées par uneUPDATE
requête et ainsi de suite$this->db->getLastId()
renvoie le dernier incrément automatique de l'id à l'aide de mysql_insert_id()Compréhension 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 modifié à l'aide$this->session->data
où des données est un tableau associatif imitant la$_SESSION
Tous les autres peut être consulté à l'aide de
$this->request
et ont été "nettoyés" de se conformer avec les magic quotes activé/désactivé, de sorte$_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é
Alors que le ci-dessus n'est pas un pare-balles pour les développeurs, j'espère qu'il fera un bon point de départ pour ceux démarrage
controllerproductsearch
serait trop de travailBibliothèque globale des Méthodes de Base : opencart des fonctions de la bibliothèque ainsi que leurs fonctionnalités, la Plupart de ces peut être appelée à partir de n'importe où dans le catalogue ou admin dossiers (les contrôleurs, les modèles, les vues)
Il y a un OpenCart Wiki site web avec de la documentation pour les débutants que pour les développeurs.
Suivez l'url ci-dessous pour plus de détails:
http://wiki.opencarthelp.com/doku.php?id=starthttp://wiki.opencarthelp.com/doku.php?id=methods_referenceINTERNET les liens vers les ARCHIVES
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=methods_reference
E. g. La méthode de référence a des détails pour :
Encore Il y a quelques pages en construction, mais il va être utile.
[Mise à jour]
Comme de Janv-2018, opencarhelp.com de domaine est en baisse.
PHP est assez étendue de langue avec plus de 5000 fonctions intégrées donc une stratégie pour l'apprentissage d'une nouvelle plate-forme est d'identifier les fonctions qu'il utilise le plus souvent et passer un peu de temps à apprendre à connaître ceux qui sont très bien.
J'ai exécuter des requêtes sur la OpenCart code source et le top 10 des fonctions les plus couramment utilisées sont:
Tous les 52 énumérés ici ainsi que Linux bash commandes que vous pouvez utiliser sur n'importe quel base de code pour identifier les fonctions les plus couramment utilisées:
https://www.antropy.co.uk/blog/efficient-learning-for-new-opencart-developers/
Cette vidéos youtube liste de lecture peut également être utile pour devenir OpenCart développeur Gourous:
OpenCart Vidéos Tutoriels
MVCL modèle, flux de code et demande & réponse en OpenCart Il montre MVCL modèle, flux de code et demande & réponse en OpenCart.
Ils décrivent le flux comme dans l'image ci-dessous:
L'installation, la configuration et Désinstaller le module Opencart Il montre trois façons de télécharger des modules, puis de l'installer, de configurer et de désinstaller le OpenCart 3 le module d'extension.
Les mises en page et la position dans Opencart 3 Il décrit les OpenCart 3 mises en page et des positions. Il montre comment afficher personnaliser les mises en page pour les différentes pages, en donnant des exemples de catégories de pages. Nous montrons les différentes mise en page d'une catégorie différente.
Survol de Opencart Vous apprendrez quels sont les Événements dans OpenCart, comment ils fonctionnent et ce qui les rend si utile.
Opencart documentation de l'API pour les développeurs Cette vidéo va vous montrer comment utiliser et de le rendre personnalisé opencart API
Une fois que vous voyez ces vidéos, alors vous pouvez commencer à coder 🙂
Même si ce sujet a déjà été répondu plusieurs fois déjà, je voudrais proposer une autre approche de la maîtrise des OpenCart basé sur mon expérience.
L'apprentissage par la pratique
Par la création de votre propre OpenCart cadre à partir de zéro avec une poignée de fichiers, vous pouvez comprendre comment tout est mis en place. Je vais être imitant la structure de fichier de OpenCart pour vous.
Créer un fichier
index.php
1. Registre
Opencart utilise le Registre de modèle de liste de toutes les instances de classes chargées. C'est le cœur de votre OpenCart app. Le registre de l'objet est ensuite passé autour de chaque catégorie, le modèle, et de la bibliothèque pour un accès rapide à d'autres objets.
créer un fichier avec le chemin
/system/engine/registry.php
dans votre
index.php
2. Sortie
Maintenant, nous allons ajouter une sortie qui sera notre HTML, dans le futur. Après tout, l'idée est d'envoyer une chaîne de texte dans le navigateur.
De créer le fichier
system/library/response.php
et dans votre
index.php
3. Les contrôleurs de
Penser à des Contrôleurs de pages. Elles permettront de définir ce qui va être affiché pour le client: texte, html, json, télécharger, ou même une image. Pour l'instant, nous voulons juste une page qui envoie le texte.
Nous allons créer un contrôleur pour le
home
page.ajouter un fichier avec chemin d'accès
catalog/controller/common/home.php
et modifier votre
index.php
4. Routeur
Nous ne voulons pas que les contrôleurs à être codé en dur, à droite. Nous allons utiliser un paramètre
route
partir de l'adresse url dire notre panier qui contrôleur de charge.Créer un fichier avec le chemin
system/library/request.php
Créer le Routeur de classe qui sera responsable de l'initialisation du Contrôleur de fichier basé sur le parcours (en d'autres termes: appeler de manière dynamique le contrôleur)
le charger dans votre
index.php
Ce post est déjà trop long, mais j'espère qu'il donnera une compréhension de base du modèle MVC dans OpenCart.
Également consulter mon Youtube https://www.youtube.com/dreamvention et mon blog https://dreamvention.com/blog je vais poster plus de conseils et tutoriaux pour vous les gars!