2010-07-27 35 views
11

使用默認模板,trac票證僅供查看,我必須單擊修改以展開屬性選項卡才能修改,更改票證的狀態。 現在我想自動擴展該選項卡?如何在不更改模板本身的情況下快速更改它? 可以用trac.ini文件改變它嗎? 我找不到要更改的默認模板的位置,所以我無法更改自己。 謝謝!Trac中更改票證顯示

+0

我有完全相同的需求 - 即使一些幫助如何更改模板將是有用的。 – Tom 2010-07-27 12:17:26

+0

你們兩個在談論trac 0.12嗎?如果是這樣,將這些信息添加到問題中可能會很好。我在trac 0.11中沒有任何「修改」選項卡。實際上,我根本沒有票上的任何標籤... – 2010-07-27 12:46:19

+0

是的,我正在使用Trac 0.12 – hungnv 2010-07-29 06:40:23

回答

3

我使用trac 0.12並有同樣的問題。

...不改變模板本身

我找不到一個選項來配置它,但我也注意到,如果你點擊「修改」在右上角快速鏈接票證,然後「修改票據」可摺疊區域自動爲您摺疊。

我知道你沒有要求,但爲了以防萬一,你想有一個可怕的模板黑客...

打開編輯器中的模板文件,例如對我的CentOS 5.5:

sudo emacs /usr/lib/python2.4/site-packages/Trac-0.12-py2.4.egg/trac/ticket/templates/ticket.html 

註釋掉了jQuery行觸發修改部分坍塌準備頁:

//$("#modify").parent().toggleClass("collapsed"); 

我發現編輯未生效的直線距離 - 也許該模板被緩存或什麼?它在轉換幾分鐘後刷新並重新啓動apache。

讓我們更好的解決方案,希望別人的答案...

+1

是的,模板被緩存。你需要在你的trac.ini中設置 [trac] auto_reload = True – 2010-07-27 19:47:56

+0

但是對於我來說,你正在談論的目錄是/usr/lib/python2.4/site-packages/Trac-0.12-py2.4.egg只是一個帶有egg擴展名的文件? 這對我來說很奇怪,這是我第一次使用Trac,爲什麼你的目錄變成了我的文件與Trac的相同版本? – hungnv 2010-07-29 06:58:38

+1

你的蛋被壓縮,而我的解壓縮。我使用'easy_install --always-unzip Trac == 0.12'來安裝Trac,因爲我的操作系統無法識別壓縮的蛋。你可以使用'unzip'解壓縮你的蛋,然後刪除壓縮版本(否則你將安裝兩個tracs)。 – Tom 2010-07-29 10:56:13

8

我想使你要找的行爲最好的辦法是添加自定義的JS文件(可以注入很像一個自定義的CSS,閱讀TracInterfaceCustomization)。

在該文件中做到這一點:

$(document).ready(function() { 
window.setTimeout(function() { 
    $("#modify").parent().removeClass('collapsed') 
}, 0); 
}); 

此代碼是未經測試,但它應該給你的想法。基本上我們需要等到DOM準備就緒($(document).ready),但由於在該事件中調用了多個JS函數,setTimeOut會稍微延遲一點,以確保崩潰命令在之前經歷過。從專業的Trac開發商:-)

+1

我不得不使用$(document).ready來實現這個功能,但除此之外,在trac 0.12中工作得很好。謝謝! – icco 2010-09-07 01:10:24

+0

我已經試過了這麼多次,並且無法讓我的生活得到它的工作,我甚至回答了這個問題,然後在我意識到我做出的錯誤假設後將其刪除。 icco的結果與我的相同,將第一行從'$ .ready'改爲'$(document).ready',並且它工作正常!好極了!現在讓TRAC開發人員撤銷webapp本身的這個可怕變化。我甚至無法理解他們首先做出的假設。 – VxJasonxV 2010-09-11 23:31:29

+0

是的,你是對的我忘了$(document).ready,改變了:-) – 2010-09-19 13:48:18

2

這基本上是施瓦茨的答案,但在一個簡單的形式

若要票contols負載擴大做以下

HTH。把下面的/路徑代碼

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:py="http://genshi.edgewall.org/" 
     py:strip=""> 

    <!--! Add site-specific style sheet --> 
    <head py:match="head" py:attrs="select('@*')"> 
    ${select('*|comment()|text()')} 
    <script type="text/JavaScript"> 
    <!-- 
    // EXPAND TICKET CONROLS ON LOAD. 
    jQuery(document).ready(function() { 
    window.setTimeout(function() { 
     $("#modify").parent().removeClass('collapsed') 
    }, 1); 
    }); 
    //--> 
    </script> 
    </head> 

    <body py:match="body" py:attrs="select('@*')"> 
    ${select('*|text()')} 
    </body> 
</html> 

/到/你/ TRAC /項目/ 模板目錄中的文件site.html

+0

我認爲這種方式更清潔。 – 2013-02-12 12:54:31