• odoo基础视图入门


    上一篇内容:odoo基础视图入门学习 - from视图的使用

    前言

    前面学习了tree视图和from视图的使用,思考一个问题,我们如果想要时间在搜索框搜索我们想要的内容的时候怎么办了,odoo这里也给了我们非常好的解决方式,那就是search视图,search视图的实现也是非常简单的

    search视图 - 搜索框实现

    还是进入views文件夹下的goods.xml文件,有问题的小伙伴可以去看下面两篇视图入门文章

    <record id="goods_search_view" model="ir.ui.view">
      <field name="name">型号搜索</field>
      <field name="model">fandx.goods.spu</field>
      <field name="arch" type="xml">
        <search>
          <field name="name"/>
          <field name="brand_id"/>
          <field name="code"/>
          <field name="create_date"/>
        </search>
      </field>
    </record>
    <record id="goods_view_form" model="ir.ui.view">
      ...
    

    image

    可以看到搜索的效果还是非常强大的

    注意:

    • search视图不需要在act_windows的view_mode中进行添加会自动识别
    • search视图的内容需要被search标签进行包含

    search视图 - 筛选功能

    筛选功能可以快速帮助我们搜索我们预先设置好的搜索词,比如我们这里设置筛选关键词为苹果品牌和小米品牌

    还是在goods.xml的search标签中进行文件进行修改

     <record id="goods_search_view" model="ir.ui.view">
            <field name="name">型号搜索</field>
            <field name="model">fandx.goods.spu</field>
            <field name="arch" type="xml">
                <search>
                    <field name="name"/>
                    <field name="brand_id"/>
                    <field name="code"/>
                    <field name="create_date"/>
                  	<!-- 筛选功能 -->
                    <filter name="苹果品牌" string="苹果品牌"  domain="[('brand_id', '=', '苹果')]"  />
                    <filter name="苹果品牌" string="小米品牌"  domain="[('brand_id', '=', '小米')]"  />
                  	<!-- 筛选功能 -->
                </search>
            </field>
        </record>
    

    image

    当我们点击苹果品牌就会只过滤出苹果的商品,小米的也是同理

    注意

    • domain就是点击这个筛选之后的页面过滤的规则
    • filter标签就是用来编写筛选框按钮的内容的
    • 我们也可以使用添加自定义筛选自由的进行内容的筛选

    search视图 - 分组功能

    odoo的分组功能会根据某种规则进行group_by并进行分层显示

    还是在goods.xml的search标签中进行文件的修改

    <record id="goods_search_view" model="ir.ui.view">
      <field name="name">型号搜索</field>
      <field name="model">fandx.goods.spu</field>
      <field name="arch" type="xml">
        <search>
          <field name="name"/>
          <field name="brand_id"/>
          <field name="code"/>
          <field name="create_date"/>
          <filter name="苹果品牌" string="苹果品牌"  domain="[('brand_id', '=', '苹果')]"  />
          <filter name="苹果品牌" string="小米品牌"  domain="[('brand_id', '=', '小米')]"  />
          <!-- 分组功能 -->
          <group>
            <filter name="品牌分组" string="品牌"  context="{'group_by':'brand_id'}"/>
          </group>
          <!-- 分组功能 -->
        </search>
      </field>
    </record>
    

    image

    总结

    odoo在search视图中可以帮助我们实现对视图快速搜索,配合着context还可以有一些search的高级用法,以后有机会再讲



    本文 FANDX 原创内容,未经允许禁止转发,违者必究其责任!
  • 相关阅读:
    expect脚本实例
    Linux dialog详解(图形化shell)
    makefile——小试牛刀
    gdb入门
    linux常见系统调用函数列表
    linux前后台任务的切换以及执行暂停
    centos 7.0 lnmp安装部署步骤
    环境列表
    setjmp与longjmp非局部跳转函数的使用
    malloc,calloc,alloca和free函数
  • 原文地址:https://www.cnblogs.com/fandx/p/14662526.html
Copyright © 2020-2023  润新知