2010-07-27 29 views
11

Với mẫu mặc định, vé trac chỉ có sẵn để xem, tôi phải bấm sửa đổi để mở rộng thẻ thuộc tính để sửa đổi, thay đổi trạng thái của vé. Bây giờ tôi muốn tự động mở rộng tab đó? Làm cách nào để thay đổi nhanh chóng mà không thay đổi chính mẫu? Có thể thay đổi nó bằng tệp trac.ini không? Tôi không thể tìm thấy vị trí của mẫu mặc định để thay đổi, vì vậy tôi không thể thay đổi bản thân mình. Cảm ơn!Thay đổi hiển thị vé tại Trac

+0

Tôi có cùng một nhu cầu chính xác - thậm chí một số trợ giúp về cách thay đổi mẫu sẽ hữu ích. – Tom

+0

Hai bạn đang nói về trac 0.12? Nếu vậy, có lẽ sẽ tốt hơn khi thêm thông tin đó vào câu hỏi. Tôi không có bất kỳ tab "Sửa đổi" nào trong trang 0.11. Trên thực tế, tôi không có bất kỳ tab nào trên vé ... –

+0

có, tôi đang sử dụng Trac 0.12 – hungnv

Trả lời

3

Tôi đang sử dụng trac 0,12 và gặp vấn đề tương tự.

... mà không cần thay đổi mẫu đó

tôi không thể tìm thấy một tùy chọn để cấu hình nó nhưng tôi đã thông báo nếu bạn nhấp vào "sửa đổi" liên kết nhanh ở phía trên cùng bên phải của vé sau đó khu vực có thể gập lại "Sửa đổi vé" sẽ tự động được thu gọn cho bạn.

Tôi biết bạn đã không yêu cầu nó, nhưng chỉ trong trường hợp, bạn muốn có một mẫu khủng khiếp Hack ...

Mở tập tin mẫu trong trình soạn thảo, ví dụ đối với tôi trong CentOS 5.5:

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

Comment ra dòng jQuery mà gây nên sửa đổi phần sụp đổ trên trang ready:

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

Tôi tìm thấy chỉnh sửa không có hiệu lực ngay lập tức - có lẽ các mẫu được lưu trữ hoặc một cái gì đó? Nó hoạt động sau vài phút thay đổi và khởi động lại apache.

Lets câu trả lời khác hy vọng ai đó có giải pháp tốt hơn ...

+1

có, các mẫu được lưu trong bộ nhớ cache. bạn cần phải đặt [trac] auto_reload = True trong trac.ini –

+0

Nhưng đối với tôi, thư mục bạn đang nói về /usr/lib/python2.4/site-packages/Trac-0.12-py2.4.egg chỉ là một tập tin với phần mở rộng trứng? Thật kỳ lạ với tôi, đây là lần đầu tiên tôi sử dụng Trac, tại sao thư mục của bạn trở thành tệp của tôi với cùng phiên bản Trac? – hungnv

+1

Trứng của bạn được nén trong khi tôi được giải nén. Tôi đã cài đặt Trac bằng cách sử dụng 'easy_install --always-unzip Trac == 0.12' vì hệ điều hành của tôi không thể nhận ra trứng được nén. Bạn có thể giải nén trứng bằng cách sử dụng 'giải nén', sau đó xóa phiên bản đã nén (nếu không bạn sẽ cài đặt hai bản nhạc). – Tom

8

Tôi nghĩ rằng cách tốt nhất để cho phép hành vi mà bạn đang tìm kiếm là thêm một tập tin tùy chỉnh JS (có thể được tiêm giống như một CSS tùy chỉnh, đọc TracInterfaceCustomization).

Trong tập tin đó làm điều này:

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

Mã này là chưa được kiểm tra nhưng nó sẽ cho bạn ý tưởng. Về cơ bản chúng ta cần đợi cho đến khi DOM sẵn sàng ($ (document) .ready) nhưng vì có nhiều hàm JS được gọi trong suốt sự kiện đó, setTimeOut đặt một độ trễ nhỏ để đảm bảo rằng lệnh thu gọn đã đi qua trước đó.

HTH từ một nhà phát triển chuyên nghiệp Trác :-)

+1

Tôi đã phải sử dụng $ (tài liệu). Sẵn sàng để có được điều này để làm việc, nhưng khác hơn là làm việc tuyệt vời trong trac 0.12. Cảm ơn! – icco

+0

Tôi đã thử nhiều lần, và không thể cho cuộc sống của tôi làm cho nó hoạt động, tôi thậm chí còn trả lời câu hỏi này và sau đó xóa nó sau khi tôi nhận ra giả định sai lầm của mình. Kết quả của icco cũng giống như của tôi, thay đổi dòng đầu tiên từ '$ .ready' thành' $ (document) .ready', AND IT WORKS! YAY! Bây giờ để các nhà phát triển TRAC hoàn tác thay đổi khủng khiếp này trong chính webapp. Tôi thậm chí không thể hiểu được giả định họ đã làm ngay từ đầu. – VxJasonxV

+0

vâng, bạn nói đúng Tôi đã quên $ (tài liệu) .ready, đã thay đổi :-) –

2

này về cơ bản là câu trả lời Schwarz nhưng trong một hình thức đơn giản

Để contols vé mở rộng trên tải làm sau. Đặt mã sau

<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> 

trong/path/to// trac của bạn/dự án/mẫu thư mục trong tập tin site.html.

+0

Tôi nghĩ cách này sạch hơn. –

Các vấn đề liên quan