2016-04-29 8 views
0

私はodooを学び始めており、私はPHPの背景から来ています。 PHPフレームワークをデバッグする際に、私はコントローラとメソッドがウェブアドレス(http://host/ {コントローラ}/{メソッド}/{パラメータ})を見て呼び出されていることを知っていますOdooデバッグアプリケーション

私はOdoo (http://host:8069/web?db= {db}#page = {page} & limit = 80 & view_type = {view_type} & model = {model} & action = {action_id})を参照してください。また、いくつかの時間(http://host:8069/web?db= {デシベル}#view_type =かんばん&モデル= {モデル} & menu_id = {menu_id} &アクション= 176)

は、誰かがそれは、唯一の高レベルをどのように動作するか私を導いてくださいすることができます。

本当にありがとうございます。あなたがPHPで言ったようにルートやコントローラーをしながら私たちは、このパターンに従う

おかげで、 M

答えて

0

はあなたの非常に本物のクエリを求めている

http://host/ {controller}/{method}/{parameter}。このようなパターンを作るための

主な目的は、 リソースごとにユニークなURIを作ることです。

ここで、odooでは、urlルートにコントローラー/メソッドを配置することについて、このような調整はありません。

odooはあなたにルートを作る自由/力を与えます。そして、電源が常に責任を持っていることを知っているので、その開発者の責任は2つのルートが互いに矛盾しないようにします。

同時に、URLもSEOに優しいはずです。

私たちのチームでは、通常のモジュール/モデル/方法を流しています。

  • モジュール名academy
  • モジュール[_name='academy.teacher']
  • モジュールモデル教師が[_name='academy.student']
  • モジュールが持っているモデルの学生を持っている:私は持っている :たとえば

モデルコース[_name='academy.course']

  • リストを表示するにはoリストを表示するための/academy/teacher/create
  • :先生を作成するための/academy/teacher
  • :リストに私たちのようなURL パターンを作成し、個々の教師を表示するための/academy/teachers
  • :私たちは同じよう URLパターンを作成し、グリッドビューでF先生/academy/student
  • :リストに私たちのようなURL パターンを作成し、個々の教師を表示するための /academy/students
  • :グリッドビューの学生の私たちのような URLパターンを作成します/academy/course
  • レッツは、実際の例です:

  • は、グリッドビューでコースのリストを表示するために我々はリストに私たちのようなURL パターンを作成し、個々の教師を表示するための/academy/courses
  • よう URLパターンを作成します

    • ため/shop/cart

      を表示しますあなたは ショップカート更新/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 
      

    のためのJSON要求ハンドラtype='json'を作成したい場合は、あなたが言ったようにケースでオーダー/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 
    
  • を更新するための

    @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 
    
  • あなたはもっと私はあなたにいくつかの有用なリンクを提案してもいいです:

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

    これはODOOのURLパターンを過小であなたを助けるかもしれない希望。

  • +0

    Thanks Prakash、私は、コントローラ、モデル、テンプレート、コントローラ、モデル、データフォルダの下にあるカスタムモジュールtestを作成しました。私の__openerp__.pyでは、dataフィールドは 'data/templates.xml'に設定されています。今私はreturn http.request.render( 'test.listing'、{})を使用してコントローラからテンプレートをレンダリングしています。私のdata/templates.xmlには、とその上にデータとopenerpタグがあります。私がこれを実行すると、エラー 'QWebTemplateNotFound:外部IDがシステムに見つかりません:test.listing'が表示されます。私が間違っていることを助けてくれますか?本当に感謝します。 – user280960

    +0

    にはdata/templates.xmlが含まれています。 opener.pyでサーバー – prakash

    +0

    を再起動します。こんにちはPrakash、私はファイルを__openerp__.pyに 'data':['data/templates.xml']として含めました。 – user280960

    関連する問題