焦点资讯:odoo 开发入门教程系列-QWeb简史

来源:博客园   时间:2023-04-22 06:20:29
QWeb简史

到目前为止,我们的房地产模块的界面设计相当有限。构建列表视图很简单,因为只需要字段列表。表单视图也是如此:尽管使用了一些标记,如,但在设计方面几乎没有什么可做的。

然而,如果我们想给我们的应用程序一个独特的外观,就必须更进一步,能够设计新的视图。此外,PDF报告或网站页面等其他功能需要另一个更灵活的工具:模板引擎。

您可能已经熟悉现有的引擎,如Jinja(Python)、ERB(Ruby) 或Twig(PHP)。Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。


【资料图】

你可能已经在Odoo见过 看板,其中的记录以卡片状结构显示。我们将为我们的房地产模块构建这样的视图。

一个具体的示例: 一个看板视图

参考: 本主题关联文档可以查看Kanban.

目标: 本节结束时创建一个房产的看板视图

在我们的地产应用程序中,我们希望添加一个看板视图来显示我们的房产。看板视图是标准的Odoo视图(如表单和列表视图),但其结构更灵活。事实上,每张卡片的结构是表单元素(包括基本HTML)和QWeb的混合。看板视图的定义与列表视图和表单视图的定义相似,只是它们的根元素是kanban。看板视图最简单的形式如下:

                        

让我们分解一下这个例子:

<templates>:定义QWeb 模板列表。看板视图必须至少定义一个根模板kanban-box,每个记录将呈现一次。是QWeb指令的占位符元素。在本例中,它用于将模板的name设置为kanban-box
oe_kanban_global_click
可点击,以打开记录:这向视图中添加name字段。

练习--制作一个最小的看版视图

根据上述提供的简单例子,为房产创建一个最小化的看板视图。唯一展示的字段为name.

提示: 必须在ir.actions.act_window对应的view_mode中添加 kanban

修改odoo14\custom\estate\views\estate_property_views.xml(注意:以下未展示文件中的所有内容,其它内容保持不变)

        Properties        estate.property        kanban,tree,form<--本次改动新增kanban-->        {"search_default_state": True}                       estate.property                                                                                

重启服务验证

一旦看板视图起作用, 我们可以开始改进它。如果我们想有条件的展示元素,可以使用 t-if指令(查看 Conditionals).

                            
This is new!

我们添加了几个东西:

t-if: 如果条件为真,渲染
元素record: 拥有所有请求字段作为其属性的对象。每个字段都有两个属性 valueraw_value。前者是根据当前用户参数格式化的,后者则是直接通过read()读取的。

在上面的示例中,字段name被添加到元素中,但state在它之外。当我们需要字段的值但不想在视图中显示它时,可以将其添加到元素之外。

练习--改善看板视图

添加以下字段到看板视图:expected price, best price, selling price 和tags。注意:best price仅在收到报价时展示,而selling price仅在接受报价时展示

修改odoo14\custom\estate\views\estate_property_views.xmlestate_property_kanban

        estate.property                                                                                                

注意:这里必须添加,否则界面会报类似以下错误:

odoo TypeError: Cannot read properties of undefined (reading "value")

验证效果

让我们对视图做最后的修改:默认情况下,财产必须按类型分组。您可能想看看Kanban中描述的各种选项。

练习--添加默认分组

使用合适的属性对房产分组,默认按类型分组。你必须阻止拖拽和删除。

修改odoo14\custom\estate\views\estate_property_views.xmlestate_property_kanban,给增加属性

验证效果

看板视图是一个典型的例子,说明从现有视图开始并对其进行微调而不是从头开始总是一个好主意。

参考链接

https://www.odoo.com/documentation/14.0/zh_CN/developer/howtos/rdtraining.html

https://fontawesome.dashgame.com/

关键词:

上一篇:

下一篇:

文章推荐

  • 焦点资讯:odoo 开发入门教程系列-QWeb简史

    QWeb简史到目前为止,我们的房地产模块的界面设计相当有限。构建列表视图很简单,因为只需要字段列表。表单

    博客园 2023-04-22
  • 额头窄下巴尖颧骨高适合什么刘海及发型_额头窄下巴尖颧骨高剪什么刘海及发型 天天微动态

    额头窄下巴尖颧骨高适合什么刘海及发型,额头窄下巴尖颧骨高剪什么刘海及发型很多人还不知道,现在让我们一

    互联网 2023-04-22
  • 哪些动物是人类的好朋友_这五种你了解吗 全球今热点

    解答:1、狗:一些科学家认为,狗是早期人类从灰狼驯化而来的。驯化时间从4万年前到1 5万年前,发展至今。

    互联网 2023-04-22
  • 龙骨花的功效与作用和吃法 龙骨花的功效与作用

    今天来聊聊关于龙骨花的功效与作用和吃法,龙骨花的功效与作用的文章,现在就为大家来简单介绍下龙骨花的功

    城市网 2023-04-22
  • 沃迈次氯酸消毒液喷雾怎么打开? 关注

    1 打开沃迈次氯酸消毒液喷雾打开的方法喷雾的瓶盖,拔出来或者拧下来即可。2 按压喷雾头即可以喷出液体来,一

    南方养生网 2023-04-22
  • 广告

    X 关闭

    X 关闭

  • 众测
  • more+

    京张高铁每日开行17对冬奥列车

      京张高铁每日开行17对冬奥列车  预计冬奥服务保障期运送运动员、技术官员、持票观众等20万人次  2月6日,2022北京新闻中心举行“北

    北京冬奥会开幕式上 小学生朱德恩深情演绎《我和我的祖国》

      北京冬奥会开幕式上 小学生朱德恩深情演绎《我和我的祖国》  9岁小号手苦练悬臂吹响颂歌  2月4日晚,在北京冬奥会开幕式上,9岁的

    2022北京冬奥会开幕式这19首乐曲串烧不简单

      多名指挥家列曲目单 再由作曲家重新编曲 本报专访冬奥开幕式音乐总监赵麟  开幕式这19首乐曲串烧不简单  “二十四节气”倒计时、

    “一墩难求” 冰墩墩引爆购买潮

    设计师:没想到冰墩墩成爆款一墩难求冰墩墩引爆购买潮 北京冬奥组委:会源源不断供货北京冬奥会吉祥物冰墩墩近日引爆购买潮,导致一墩难求