on 2014/06/10 21:24, Aline Manera wrote:
On 06/09/2014 11:20 PM, Zhou Zheng Sheng wrote:
on 2014/06/10 03:21, Aline Manera wrote:
On 06/09/2014 07:08 AM, shaohef@linux.vnet.ibm.com wrote:
diff --git a/plugins/sample/ui/config/tab-ext.xml
b/plugins/sample/ui/config/tab-ext.xml
index 948fa07..8e0b3d3 100644
--- a/plugins/sample/ui/config/tab-ext.xml
+++ b/plugins/sample/ui/config/tab-ext.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
-<!--<tabs-ext>
+<tabs-ext>
<tab>
- <title>Test</title>
- <filePath>plugins/sample/ui/tab.html</filePath>
+ <title>SampleTab</title>
+ <path>plugins/sample/tab.html</path>
The UI files should be in a dedicated dir, as we have for kimchi
And we could remove tab.html (which does not have any meaning) to
sampleplugin.html or something like that
Hi, this file is not handle by back-end. It's just served by back-end,
and the front-end parses this file to get the clue on where the html
file of the plugin is.
So "plugins/sample/ui/tab.html" here is a virtual
URI, which is mapped to pages/tab.html under the specific ui dir of this
plugin.
1. This patch set uses plugins/sample/tab/html instead of
plugins/sample/ui/tab.html
Sorry! I wanted to say "plugins/sample/tab.html is virtual URI", and
"plugins/sample/ui/tab.htmls" is the real file. Sorry for the misleading.
2. Where is the map to pages/tab.html?
It works like this:
1. plugins.sample.Drawings inherits Root, and it is mounted on URI
"/plugins/sample". It also sets "self.paths = PluginPaths('sample')"
2. GET plugins/sample/tab.html -> Drawings(Root).default("tab.html") ->
template.render("tab.html").
3. When the template needs to get the actual template file name, it calls
paths = cherrypy.request.app.root.paths
filename = paths.get_template_path(resource)
So here paths is actually "PluginPaths('sample')", and calling
paths.get_template_path()
returns the result of
os.path.join(self.ui_dir, 'pages/%s.tmpl' % resource)
So actually the filename is
self.ui_dir + 'pages/tab.html'