John Poltorak wrote:
On Tue, May 31, 2005 at 06:23:11PM +0300, Vital Lobachevsky wrote:

John Poltorak wrote:

I want to provide a set of links on a Zope site dynamically. ie don't want to hard code a number of links, but would like to load them from an external source which I can add to independently, but I have no idea as to how to set about it.
Any ideas?

I'd be quite happy to have the links in a text file with one link per line.

1) Create a script that returns a list of links:

## Script (Python) "linkList"

return [
  'link1',
  ...
  'linkN'
]

2) Use this script on your page. For example,

<tal:block repeat="link here/linkList">
  <span tal:replace="structure link" />
</tal:block>


Many thanks for your suggestion.

Is there a worked example of doing this anywhere?

There seem to be quite a few steps involved in trying to get this working and I'm no expert in writing python scripts, and it will probably take me a couple of days to get this working.

Well, it's really easy. Create 'linkList' (Python Script) in the folder where you page lives or somewhere higher in folder hierarchy:

## Script (Python) "linkList"
return [
  ('http://www.google.com/', 'Google'),
  ('http://www.yahoo.com/', 'Yahoo'),
]

If your page is Page Template, it maybe something like this

<html>
<body>
<h1>Search Engines</h1>
<tal:block repeat="item here/linkList">
  <a tal:content="python:item[1]"
     tal:attributes="href python:item[0]"></a><br />
</tal:block>
</body>
</html>

If you page is DTML Method, you can do the same using <dtml-in> tag.



_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to