2016-04-29 1 views
0

Je commence à apprendre l'odoo et je viens de l'arrière-plan de PHP. donc pendant le débogage de la structure PHP, je connais le contrôleur et les méthodes appelées en regardant l'adresse web (http://host/ {contrôleur}/{méthode}/{paramètre})Odoo application de débogage

Je ne sais pas comment cela fonctionne dans Odoo comme je voir (http://host:8069/web?db= {db} # page = {page} & limite = 80 & view_type = {type_vue} & modèle = {modèle} & action = {action_id}). aussi un peu de temps (http://host:8069/web?db= {db} # view_type = kanban & modèle = {modèle} = {& menu_id menu_id} & action = 176)

Quelqu'un peut-il s'il vous plaît me guider comment cela fonctionne, seul niveau élevé.

Vraiment apprécier.

Merci, M

Répondre

0

Votre ont demandé une requête très authentique:

Comme vous l'avez dit en php nous suivons ce modèle tout en rendant les routes et les contrôleurs:

http://host/ {controller}/{method}/{parameter}.

Objectif principal pour faire ce modèle est de rendre l'URI unique, pour chaque ressource.

Ici, dans odoo, il n'y a pas de restriction sur le placement du contrôleur/méthode dans la route URL. Odoo vous donner la liberté/puissance de faire le parcours et comme vous savez que la puissance vient toujours avec la responsabilité, est donc la responsabilité du développeur pour s'assurer que deux routes ne sont pas en conflit les uns avec les autres.

Dans le même temps l'url devrait SEO friendly aussi.

Dans notre équipe nous coulons habituellement module/modèle/méthode.

Par exemple: i have A:

  • nom du module academy
  • Module
  • ont un enseignant modèle [_name='academy.teacher']
  • modules ont un étudiant modèle [_name='academy.student']
  • modules ont un cours de modèle [_name='academy.course']
  • Pour afficher la liste de f enseignants dans la vue de la grille, nous créons la comme modèle url : /academy/teachers
  • Pour afficher la liste l'enseignant nous créons l'URL modèle comme: /academy/teacher
  • pour la création de l'enseignant: /academy/teacher/create
  • Pour afficher la liste des étudiants dans la vue de la grille, nous créons le modèle url comme: /academy/students
  • Pour afficher la liste l'enseignant, nous créons l'URL modèle comme: /academy/student
  • Pour afficher la liste des cours en vue de la grille, nous créons le modèle url comme /academy/courses
  • Pour afficher la liste l'enseignant, nous créons le modèle url comme: /academy/course

Soit est un exemple en direct:

  • Pour afficher l'ordre /shop/cart

    @http.route(['/shop/cart'], type='http', auth="public", methods=['POST'], website=True) 
        def cart(self, product_id, add_qty=1, set_qty=0, **kw): 
        pass 
    
  • Pour mettre à jour l'ordre /shop/cart/update:

    @http.route(['/shop/cart/update'], type='http', auth="public", methods=['POST'], website=True) 
        def cart_update(self, product_id, add_qty=1, set_qty=0, **kw): 
        pass 
    
  • Dans le cas si vous voulez créer un gestionnaire de requêtes JSON type='json' pour boutique panier mise à jour /shop/cart/update_json

    @http.route(['/shop/cart/update_json'], type='json', auth="public", methods=['POST'], website=True) 
    def cart_update_json(self, product_id, line_id=None, add_qty=None, set_qty=None, display=True): 
        pass 
    

Comme vous l'avez dit vous êtes un plus frais je voudrais aussi vous suggérer quelques liens utiles:

  1. FOR ODOO GuideLine.
  2. FOR ODOO WEBSITE MODULE
  3. FOR ODOO Http handler
  4. FOR ODOO BACKED MODULE

Hope this peut vous aider dans le modèle de sous-estimer URL de Odoo.

+0

Merci Prakash, J'ai créé un module personnalisé nommé test, sous lequel les contrôleurs, modèles, modèles sont sous contrôleurs, modèles, dossiers de données. dans mon __openerp__.py, le champ de données est défini sur 'data/templates.xml'. Maintenant, je rends le modèle du contrôleur en utilisant le retour http.request.render ('test.listing', {}). Dans mon fichier data/templates.xml, j'ai avec les données et les tags openerp au dessus d'eux. quand je lance ceci, j'obtiens l'erreur 'QWebTemplateNotFound: ID externe introuvable dans le système: test.listing'. Pouvez-vous m'aider s'il vous plaît ce que je fais mal. Vraiment apprécié. – user280960

+0

incluent data/templates.xml. dans opener.py et redémarrez votre serveur – prakash

+0

Salut Prakash, J'ai inclus le fichier dans __openerp__.py comme: 'data': ['data/templates.xml'] – user280960