User Tools

Site Tools


nonstandard_arrows

How to get nonstandard arrows

Nonstandard arrows, that means arrows that don't have the default color (red) or another symbol.

  1. First of all, you have to create the icon you want use instead of (in addition to) the default arrow. Save the icon on a server, where digiLib can find it (e.g. the foxridge).
  2. Go the the ECHO_root folder of your Virtual Exhibition.
  3. If there isn't a templated called content_overview_template, create one.
  4. Now, we have to change the content_overview_template. Go to the auxiliary image block part of the template. Probably it is at the end of the code.
    It should look similar to this:
   <!-- auxiliary image block -->
   <tal:block tal:repeat="ob python:here.getAllMapAreas(mapColTypes=['ECHO_collection','ECHO_resource','ECHO_link'])">   
       <a tal:replace="structure python:here.createMapAux(ob,target='_top',backLink=here.REQUEST.get('backLink',None))"/>
   </tal:block>
   <tal:block tal:repeat="ob python:here.getAllMapAreas(mapColTypes=['ECHO_externalLink'])">   
       <a tal:replace="structure python:here.createMapAux(ob,target='_blank')"/>
   </tal:block>
   <!-- end of auxiliary image block -->

The function createMapAux() can have an attribute arrowsrc. There you can specify another icon.
The following example uses the image at /permanent/icons/pfeil_gelb (on the foxridge) as icon:

  <a tal:replace="structure python:here.createMapAux(ob,arrowsrc='http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?dw=15&fn=/permanent/icons/pfeil_gelb', target='_top',backLink=here.REQUEST.get('backLink',None))"/>

If you want different icons for different ECHO objects, you have to create more tal:block statements. The function getAllMapAres() has an attribute mapColTypes, which specifies the object-type that is taken.
In the next example, for all ECHO_collections, there is created an standard arrow and for all ECHO_links there is created an yellow arrow:

   <tal:block tal:repeat="ob python:here.getAllMapAreas(mapColTypes=['ECHO_collection'])">   
       <a tal:replace="structure python:here.createMapAux(ob,target='_top',backLink=here.REQUEST.get('backLink',None))"/>
   </tal:block>
   <tal:block tal:repeat="ob python:here.getAllMapAreas(mapColTypes=['ECHO_link'])">   
       <a tal:replace="structure python:here.createMapAux(ob,arrowsrc='http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?dw=15&fn=/permanent/icons/pfeil_gelb', target='_top',backLink=here.REQUEST.get('backLink',None))"/>
   </tal:block>
   

If you want a differentiation of your objects by name, use the function getLinkId() to get the id of the object. See the Zope manual and the python manual for more information about writing Zope Page Templates.

nonstandard_arrows.txt · Last modified: 2020/10/10 14:13 by 127.0.0.1