Version 2 (modified by 14 years ago) (diff) | ,
---|
Arbitrary Options Plugin
Description
Pass arbitrary options from conf.ini's to templates in Trac.
You put whatever options you'd like in a [project_info] stanza inside your trac's .ini file. These are passed to the template as key-value pairs inside the dictionary 'project_info'.
You can also access data for other projects in your trac env under the list 'projects'. That list will have a dictionary with keys 'name', 'description', 'href', and 'info', where the first three are the same as in a project list, and the 'info' is the dictionary of arbitrary options you've passed for that project.
Bugs/Feature Requests
Existing bugs and feature requests for ArbitraryOptionsPlugin are here.
If you have any issues, create a new ticket.
Download
Download the zipped source from [download:arbitraryoptionsplugin here].
Source
You can check out ArbitraryOptionsPlugin from here using Subversion, or browse the source with Trac.
Example
If your .ini had this:
[project_info] short_name = my_project status = active order = 3
You could access it in your Trac's Genshi templates like this:
Short name is ${project_info.get('short_name')}. Status is ${project_info.get('status')}. Order is ${project_info.get('order')}.
You could iterate over your whole projects list like this:
<li py:for='proj in projects' py:if='proj.name != project.name and proj.info.get("status") == "primary"'> <a href='/${proj.href}'>${proj.name}</a> </li>
See also http://www.siafoo.net/snippet/276 for information.
See http://projects.icapsid.net/adjector for a usage example.
Recent Changes