Einführen eines konsistenten Links im Textabschnitt

Ein Link soll direkt in einen Text eingefügt werden und das ZMS-Linkobjekt zur Link-Konsistenz nutzen.

SOLUTION: [Ab ZMS 2.1-116m#30] Aufruf des Linkobjektes per DTML-Code: der Link-Code lässt sich mit dem Link-Popup sehr einfach erzeugen, indem man einen Textstring markiert und im Popup das Zielobjekt anklickt.
ZMS validiert die Links durch Parsing bei Aufrufen bzw. Abspeichern des Content-Objektes; defekte Linkziele werden durch eine besondere Syntax markiert und damit "neutralisiert" (d.h. bei erneutem Objektaufruf wird das frustrane Linkziel nicht erneut gesucht).

Unter dem Textabschnitt erscheint eine klickbare Liste aller Inline-Links. Die Zielobjekte erhalten den enstprechenden Eintrag im Menü "Linkquellen" (Link-Bidirektionalität). Inkonsistente Links werden als defekt markiert.

<a href="<dtml-var "getLinkUrl('{e14/e16}', 
   REQUEST)">">laboris</a>
References: [ZMSLinkElement@/e3493/e736/e784/e785/howto_refs2174][getObjProperty]: key=standard_html[zpt] Traceback (most recent call last): File "/home/zope211/lib/python/Products/zms/_objattrs.py", line 685, in getObjProperty value = metaObjAttr['zpt'](zmscontext=self) File "/home/zope211/lib/python/Shared/DC/Scripts/Bindings.py", line 313, in __call__ return self._bindAndExec(args, kw, None) File "/home/zope211/lib/python/Shared/DC/Scripts/Bindings.py", line 350, in _bindAndExec return self._exec(bound_data, args, kw) File "/home/zope211/lib/python/Products/PageTemplates/ZopePageTemplate.py", line 330, in _exec result = self.pt_render(extra_context=bound_names) File "/home/zope211/lib/python/Products/PageTemplates/ZopePageTemplate.py", line 427, in pt_render result = PageTemplate.pt_render(self, source, extra_context) File "/home/zope211/lib/python/Products/PageTemplates/PageTemplate.py", line 98, in pt_render showtal=showtal) File "/home/zope211/lib/python/zope/pagetemplate/pagetemplate.py", line 115, in pt_render strictinsert=0, sourceAnnotations=sourceAnnotations)() File "/home/zope211/lib/python/zope/tal/talinterpreter.py", line 271, in __call__ self.interpret(self.program) File "/home/zope211/lib/python/zope/tal/talinterpreter.py", line 346, in interpret handlers[opcode](self, args) File "/home/zope211/lib/python/zope/tal/talinterpreter.py", line 586, in do_setLocal_tal self.engine.setLocal(name, self.engine.evaluateValue(expr)) File "/home/zope211/lib/python/zope/tales/tales.py", line 696, in evaluate return expression(self) File "/home/zope211/lib/python/Products/PageTemplates/ZRPythonExpr.py", line 49, in __call__ return eval(self._code, vars, {}) File "PythonExpr", line 1, in UnicodeDecodeError: 'utf8' codec can't decode bytes in position 14-17: invalid data [ZMSLinkElement@/e3493/e736/e784/e785/howto_refs945][getObjProperty]: key=standard_html[zpt] Traceback (most recent call last): File "/home/zope211/lib/python/Products/zms/_objattrs.py", line 685, in getObjProperty value = metaObjAttr['zpt'](zmscontext=self) File "/home/zope211/lib/python/Shared/DC/Scripts/Bindings.py", line 313, in __call__ return self._bindAndExec(args, kw, None) File "/home/zope211/lib/python/Shared/DC/Scripts/Bindings.py", line 350, in _bindAndExec return self._exec(bound_data, args, kw) File "/home/zope211/lib/python/Products/PageTemplates/ZopePageTemplate.py", line 330, in _exec result = self.pt_render(extra_context=bound_names) File "/home/zope211/lib/python/Products/PageTemplates/ZopePageTemplate.py", line 427, in pt_render result = PageTemplate.pt_render(self, source, extra_context) File "/home/zope211/lib/python/Products/PageTemplates/PageTemplate.py", line 98, in pt_render showtal=showtal) File "/home/zope211/lib/python/zope/pagetemplate/pagetemplate.py", line 115, in pt_render strictinsert=0, sourceAnnotations=sourceAnnotations)() File "/home/zope211/lib/python/zope/tal/talinterpreter.py", line 271, in __call__ self.interpret(self.program) File "/home/zope211/lib/python/zope/tal/talinterpreter.py", line 346, in interpret handlers[opcode](self, args) File "/home/zope211/lib/python/zope/tal/talinterpreter.py", line 586, in do_setLocal_tal self.engine.setLocal(name, self.engine.evaluateValue(expr)) File "/home/zope211/lib/python/zope/tales/tales.py", line 696, in evaluate return expression(self) File "/home/zope211/lib/python/Products/PageTemplates/ZRPythonExpr.py", line 49, in __call__ return eval(self._code, vars, {}) File "PythonExpr", line 1, in UnicodeDecodeError: 'utf8' codec can't decode bytes in position 14-17: invalid data

Erstellt von: Dr. F. Hoffmann, Dirk Nordmann , erstellt am:  27.06.2008 , zuletzt geändert: 19.07.2008