目前正在开发一个自定义网页,显示我在 Trac (1.0.1) 中可用的项目。我正在使用 mod_python 连接 trac 接口。我找到了一个标准页面,但它没有显示存储库列表。该页面显示了一些链接到不同项目的变量,但我找不到项目内不同存储库的变量。
我读了这篇文章后,建立了这个网页:http://trac.edgewall.org/wiki/TracInterfaceCustomization (网站外观下)
简短摘要;编辑../conf.d/trac.conf:
PythonOption TracEnvParentDir /parent/dir/of/projects
PythonOption TracEnvIndexTemplate /path/to/template
并制作一个模板文件,我可以在/path/to/template 中编辑:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://genshi.edgewall.org/"
xmlns:xi="http://www.w3.org/2001/XInclude">
<head>
<title>Available Projects</title>
</head>
<body>
<h1>Available Projects</h1>
<ul>
<dl>
<li py:for="project in projects" py:choose="">
<a py:when="project.href" href="$project.href"
title="$project.description">$project.name</a>
## <dd> WANT TO ADD CODE HERE! </dd>
<py:otherwise>
<small>$project.name: <em>Error</em> <br /> ($project.description)</small>
</py:otherwise>
</li>
</dl>
</ul>
</body>
</html>
所以......我想要添加的代码如下:
<dd py:for="repos in project.repository" py:choose="">
<a py:when="repos.href" href="$repos.href"> $repos.name</a> </dd>
我不知道在哪里添加变量,或者是否已经存在一些可以使用的变量。搜索文件后,似乎 main.py 与变量有关(/usr/local/Trac-1.0.1/trac/web/main.py),但乍一看,添加更多变量似乎并不容易。
有没有一种简单的方法可以找到其余的变量?添加更多变量有多难?也许用另一种方法更容易?我所需要的只是动态链接到存储库