使用默认模板,trac票证仅可供查看,我必须单击修改以展开属性选项卡以进行修改,更改票证的状态。 现在我想自动扩展该选项卡?如何在不更改模板本身的情况下快速更改? 是否可以使用trac.ini文件更改它? 我无法找到要更改的默认模板的位置,因此我无法更改自己。 谢谢!
使用默认模板,trac票证仅可供查看,我必须单击修改以展开属性选项卡以进行修改,更改票证的状态。 现在我想自动扩展该选项卡?如何在不更改模板本身的情况下快速更改? 是否可以使用trac.ini文件更改它? 我无法找到要更改的默认模板的位置,因此我无法更改自己。 谢谢!
我认为启用您正在寻找的行为的最佳方法是添加一个自定义JS文件(可以像自定义CSS一样注入,读取TracInterfaceCustomization)。
在该文件中执行此操作:
$(document).ready(function() {
window.setTimeout(function() {
$("#modify").parent().removeClass('collapsed')
}, 0);
});
这段代码未经测试,但它应该给你一个想法。基本上我们需要等到DOM准备就绪($(document).ready)但由于在该事件期间调用了多个JS函数,setTimeOut会设置一个稍微的延迟以确保崩溃命令在之前完成。
来自专业Trac开发人员的HTH :-)
我使用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后工作。
让我们希望别人用更好的解决方案来回答......
这基本上是施瓦茨的答案,但形式更简单
要获得负载扩展的票证控制,请执行以下操作。请输入以下代码
<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>
在/ path / to / your / trac / project /模板 目录在文件中 site.html。