国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

odoo 開發(fā)入門教程系列-QWeb簡史

這篇具有很好參考價值的文章主要介紹了odoo 開發(fā)入門教程系列-QWeb簡史。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

QWeb簡史

到目前為止,我們的房地產(chǎn)模塊的界面設(shè)計相當(dāng)有限。構(gòu)建列表視圖很簡單,因為只需要字段列表。表單視圖也是如此:盡管使用了一些標(biāo)記,如<group><page>,但在設(shè)計方面幾乎沒有什么可做的。

然而,如果我們想給我們的應(yīng)用程序一個獨特的外觀,就必須更進(jìn)一步,能夠設(shè)計新的視圖。此外,PDF報告或網(wǎng)站頁面等其他功能需要另一個更靈活的工具:模板引擎。

您可能已經(jīng)熟悉現(xiàn)有的引擎,如Jinja(Python)、ERB(Ruby) 或Twig(PHP)。Odoo自帶內(nèi)置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。它是一個XML模板引擎,主要用于生成HTML片段和頁面。

你可能已經(jīng)在Odoo見過 看板,其中的記錄以卡片狀結(jié)構(gòu)顯示。我們將為我們的房地產(chǎn)模塊構(gòu)建這樣的視圖。

一個具體的示例: 一個看板視圖

參考: 本主題關(guān)聯(lián)文檔可以查看Kanban.

目標(biāo): 本節(jié)結(jié)束時創(chuàng)建一個房產(chǎn)的看板視圖

odoo 開發(fā)入門教程系列-QWeb簡史

在我們的地產(chǎn)應(yīng)用程序中,我們希望添加一個看板視圖來顯示我們的房產(chǎn)。看板視圖是標(biāo)準(zhǔn)的Odoo視圖(如表單和列表視圖),但其結(jié)構(gòu)更靈活。事實上,每張卡片的結(jié)構(gòu)是表單元素(包括基本HTML)和QWeb的混合??窗逡晥D的定義與列表視圖和表單視圖的定義相似,只是它們的根元素是kanban。看板視圖最簡單的形式如下:

<kanban>
    <templates>
        <t t-name="kanban-box">
            <div class="oe_kanban_global_click">
                <field name="name"/>
            </div>
        </t>
    </templates>
</kanban>

讓我們分解一下這個例子:

  • <templates>:定義QWeb 模板列表??窗逡晥D必須至少定義一個根模板kanban-box,每個記錄將呈現(xiàn)一次。
  • <t t-name="kanban-box"><t>是QWeb指令的占位符元素。在本例中,它用于將模板的name設(shè)置為kanban-box
  • <div class="oe_kanban_global_click">oe_kanban_global_click<div>可點擊,以打開記錄
  • <field name="name"/>:這向視圖中添加name字段。

練習(xí)--制作一個最小的看版視圖

根據(jù)上述提供的簡單例子,為房產(chǎn)創(chuàng)建一個最小化的看板視圖。唯一展示的字段為name.

提示: 必須在ir.actions.act_window對應(yīng)的view_mode中添加 kanban

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

    <record id="link_estate_property_action" model="ir.actions.act_window">
        <field name="name">Properties</field>
        <field name="res_model">estate.property</field>
        <field name="view_mode">kanban,tree,form</field><--本次改動新增kanban-->
        <field name="context">{'search_default_state': True}</field>
    </record>
   
    <!-- 本次新增 -->
    <record id="estate_property_kanban" model="ir.ui.view">
        <field name="model">estate.property</field>
        <field name="arch" type="xml">
            <kanban>
                <templates>
                    <t t-name="kanban-box">
                        <div class="oe_kanban_global_click">
                            <field name="name"/>
                        </div>
                    </t>
                </templates>
            </kanban>
        </field>
    </record>

重啟服務(wù)驗證

odoo 開發(fā)入門教程系列-QWeb簡史

一旦看板視圖起作用, 我們可以開始改進(jìn)它。如果我們想有條件的展示元素,可以使用 t-if指令(查看 Conditionals).

<kanban>
    <field name="state"/>
    <templates>
        <t t-name="kanban-box">
            <div class="oe_kanban_global_click">
                <field name="name"/>
            </div>
            <div t-if="record.state.raw_value == 'new'">
                This is new!
            </div>
        </t>
    </templates>
</kanban>

我們添加了幾個東西:

  • t-if: 如果條件為真,渲染<div>元素
  • record: 擁有所有請求字段作為其屬性的對象。每個字段都有兩個屬性 valueraw_value。前者是根據(jù)當(dāng)前用戶參數(shù)格式化的,后者則是直接通過read()讀取的。

在上面的示例中,字段name被添加到<templates>元素中,但state在它之外。當(dāng)我們需要字段的值但不想在視圖中顯示它時,可以將其添加到<templates>元素之外。

練習(xí)--改善看板視圖

添加以下字段到看板視圖:expected price, best price, selling price 和tags。注意:best price僅在收到報價時展示,而selling price僅在接受報價時展示

修改odoo14\custom\estate\views\estate_property_views.xml estate_property_kanban

    <record id="estate_property_kanban" model="ir.ui.view">
        <field name="model">estate.property</field>
        <field name="arch" type="xml">
            <kanban>
                <field name="state"/>
                <templates>
                    <t t-name="kanban-box">
                        <div class="oe_kanban_global_click">
                            <field name="name"/>
                            <field name="expected_price"/>
                            <!-- <field name="best_price" t-if="record.state.value == 'Offer Received'"/>-->
                            <div t-if="record.state.value == 'Offer Received'">
                                <field name="best_price"/>
                            </div>
                            <div t-if="record.state.value == 'Offer Accepted'">
                                <field name="selling_price" />
                            </div>
                            <field name="tag_ids"/>
                        </div>
                    </t>
                </templates>
            </kanban>
        </field>
    </record>

注意:這里必須添加<field name="state"/>,否則界面會報類似以下錯誤:

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

驗證效果

odoo 開發(fā)入門教程系列-QWeb簡史

讓我們對視圖做最后的修改:默認(rèn)情況下,財產(chǎn)必須按類型分組。您可能想看看Kanban中描述的各種選項。

練習(xí)--添加默認(rèn)分組

使用合適的屬性對房產(chǎn)分組,默認(rèn)按類型分組。你必須阻止拖拽和刪除。

修改odoo14\custom\estate\views\estate_property_views.xml estate_property_kanban,給<kanban>增加屬性

            <kanban default_group_by="state" records_draggable="false">

驗證效果

odoo 開發(fā)入門教程系列-QWeb簡史

看板視圖是一個典型的例子,說明從現(xiàn)有視圖開始并對其進(jìn)行微調(diào)而不是從頭開始總是一個好主意。

參考鏈接

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

https://fontawesome.dashgame.com/文章來源地址http://www.zghlxwxcb.cn/news/detail-420660.html

到了這里,關(guān)于odoo 開發(fā)入門教程系列-QWeb簡史的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • odoo17 | Qweb模板簡介

    odoo17 | Qweb模板簡介

    到目前為止,我們的房地產(chǎn)模塊的界面設(shè)計還相當(dāng)有限。構(gòu)建列表視圖很簡單,因為只需要字段列表。表單視圖也是如此:盡管使用了幾個標(biāo)簽,如 group標(biāo)簽或 page標(biāo)簽 ,但在設(shè)計方面幾乎沒什么可做的。 然而,如果我們想為我們的應(yīng)用程序提供獨特的外觀,就必須更進(jìn)一步

    2024年01月18日
    瀏覽(16)
  • 第3章_瑞薩MCU零基礎(chǔ)入門系列教程之開發(fā)環(huán)境搭建與體驗

    第3章_瑞薩MCU零基礎(chǔ)入門系列教程之開發(fā)環(huán)境搭建與體驗

    本教程基于韋東山百問網(wǎng)出的 DShanMCU-RA6M5開發(fā)板 進(jìn)行編寫,需要的同學(xué)可以在這里獲?。?https://item.taobao.com/item.htm?id=728461040949 配套資料獲取:https://renesas-docs.100ask.net 瑞薩MCU零基礎(chǔ)入門系列教程匯總 : https://blog.csdn.net/qq_35181236/article/details/132779862 本章目標(biāo): 搭建 Renesas 的

    2024年02月09日
    瀏覽(26)
  • 視頻教程 | 長安鏈推出系列視頻教程合集(入門)

    視頻教程 | 長安鏈推出系列視頻教程合集(入門)

    區(qū)塊鏈技術(shù)脫離數(shù)字貨幣實現(xiàn)產(chǎn)業(yè)化應(yīng)用的時間還相對短,處于逐步融入產(chǎn)業(yè)化發(fā)展的初期;同時區(qū)塊鏈技術(shù)涉及到密碼學(xué)、存儲、網(wǎng)絡(luò)、共識算法等多個領(lǐng)域,是一門跨學(xué)科、復(fù)合型的技術(shù)。“新”和“復(fù)合”使得部分開發(fā)者,尤其是剛開始面對數(shù)字化轉(zhuǎn)型的行業(yè)開發(fā)者對

    2023年04月17日
    瀏覽(29)
  • ActiveMQ詳細(xì)入門教程系列

    ActiveMQ詳細(xì)入門教程系列

    兩個系統(tǒng)或兩個客戶端之間進(jìn)行消息傳送,利用高效可靠的消息傳遞機制進(jìn)行平臺無關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成。通過提供消息傳遞和消息排隊模型,它可以在分布式環(huán)境下擴(kuò)展進(jìn)程間的通信。 消息中間件,總結(jié)起來作用有三個: 異步化提升性

    2024年02月15日
    瀏覽(30)
  • WPF入門教程系列一——基礎(chǔ)

    WPF入門教程系列一——基礎(chǔ)

    一、?前言?? ?? ????? 最近在學(xué)習(xí)WPF,學(xué)習(xí)WPF首先上的是微軟的MSDN,然后再搜索了一下網(wǎng)絡(luò)有關(guān)WPF的學(xué)習(xí)資料。為了溫故而知新把學(xué)習(xí)過程記錄下來,以備后查。這篇主要講WPF的開發(fā)基礎(chǔ),介紹了如何使用Visual?Studio?2013創(chuàng)建一個WPF應(yīng)用程序。 首先說一下學(xué)習(xí)WPF的基礎(chǔ)知

    2024年02月07日
    瀏覽(32)
  • 【PyTorch教程】pytorch入門系列 ——土堆教程的目錄及索引

    一、幾句題外話 深度學(xué)習(xí)上手已經(jīng)很長時間了,還記得最初的入門是跟著 B站up小土堆 的一步步學(xué)起來的,從起初的環(huán)境配置,到現(xiàn)在調(diào)整整個模型的進(jìn)階,非常感謝土堆的貢獻(xiàn)。 寫這個博客的初衷是為了自己 看著方便 ,由于多臺電腦多個環(huán)境下查看這些內(nèi)容很麻煩,所以

    2024年03月17日
    瀏覽(33)
  • 數(shù)據(jù)倉庫系列:StarRocks 入門培訓(xùn)教程

    數(shù)據(jù)倉庫系列:StarRocks 入門培訓(xùn)教程

    其它文章請參考 數(shù)據(jù)倉庫系列:StarRocks 下一代高性能分析數(shù)據(jù)倉庫的架構(gòu)、數(shù)據(jù)存儲及表設(shè)計 數(shù)據(jù)倉庫系列:StarRocks的簡單試用及與clickhouse的對比 數(shù)據(jù)倉庫系列:如何將StarRocks集群與Jupyter集成? StarRocks 是一款MPP DB, 對標(biāo)ClickHouse、Vertica、Teradata、Greenplum,在查詢性能上遠(yuǎn)

    2024年02月11日
    瀏覽(33)
  • Midjourney學(xué)習(xí)系列之一 —— 保姆級入門教程

    Midjourney學(xué)習(xí)系列之一 —— 保姆級入門教程

    繼ChatGPT之后,AI繪圖網(wǎng)站Midjourney也已經(jīng)火出圈了。鑒于其強大的繪圖能力和極低的使用門檻,Midjourney已經(jīng)在事實上被各行各業(yè)的人作為輔助工具了,更重要的是,它絕對是一個非常理想的學(xué)習(xí)AI技術(shù)的引路人。 因此我在文章《一文了解AI繪圖所有,含福利》中呼吁,每一個大

    2024年02月11日
    瀏覽(15)
  • WPF入門教程系列三十 ——DataGrid驗證

    WPF入門教程系列三十 ——DataGrid驗證

    WPF入門教程系列目錄 WPF入門教程系列二——Application介紹 WPF入門教程系列三——Application介紹(續(xù)) WPF入門教程系列四——Dispatcher介紹 WPF入門教程系列五——Window 介紹 WPF入門教程系列十一——依賴屬性(一) WPF入門教程系列十五——WPF中的數(shù)據(jù)綁定(一) ? ???????? DataG

    2024年02月12日
    瀏覽(27)
  • 【瑞薩零基礎(chǔ)入門】瑞薩MCU零基礎(chǔ)入門系列教程(更新連載中)

    【瑞薩零基礎(chǔ)入門】瑞薩MCU零基礎(chǔ)入門系列教程(更新連載中)

    得益于瑞薩強大的MCU、強大的軟件開發(fā)工具(e2 studio),也得益于瑞薩和RA生態(tài)工作室提供的支持,我們團(tuán)隊編寫了《ARM嵌入式系統(tǒng)中面向?qū)ο蟮哪K編程方法》,全書37章,將近500頁: 講解面向?qū)ο缶幊淘趩纹瑱C開發(fā)中的使用 結(jié)合FSP軟件包實例分析外設(shè)驅(qū)動 講解如何使用RASC配

    2024年02月09日
    瀏覽(61)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包