У меня есть часть TALES для шаблона страницы в Plone, который просматривает результаты коллекции и вставляет их в окно (похожее на окно портлета коллекции)Пропустить сайт сайта в возвращаемом результате при использовании getPath в шаблонах страницы Plone
у меня есть проблема в получении URL из возвращенных предметов, я использую GetPath однако он возвращает имя сайта, поэтому мои URLS в конечном итоге http://mysite.com/ThePloneSite/folder/page
вместо просто http://mysite.com/folder/page
, в настоящее время моего примера СКАЗКА выглядит следующим образом:
<a tal:attributes="href string:${item/getPath}/view">Item</a>
Я пробовал все варианты, которые я могу себе представить, но я не помню Кромка все так вот пару, которые не работают:
(это ничего не возвращает)
<a tal:attributes="href item/absolute_url">Item</a>
это дает мне отслеживающий, жалуется на «GetPath»:
<a tal:attributes="python:item.getObject().absolute_url()">Item</a>
Единственная причина имя сайта, находящееся в ссылке, вызывает раздражение, так это то, что для доступа к кнопкам «Состояние» и «Показать» вы должны нажать «Просмотреть» после первоначального нажатия на ссылку
ПРИМЕЧАНИЕ: последний пример работает w вы используете getFolderContents
, однако я понимаю, что результаты возвращения из коллекции разные.
Любая помощь была бы принята с благодарностью, спасибо.
EDIT Traceback для абсолютной версии:
Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module Shared.DC.Scripts.Bindings, line 322, in __call__
Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
Module Products.PageTemplates.ZopePageTemplate, line 334, in _exec
Module Products.PageTemplates.ZopePageTemplate, line 431, in pt_render
Module Products.PageTemplates.PageTemplate, line 79, in pt_render
Module zope.pagetemplate.pagetemplate, line 113, in pt_render
Module zope.tal.talinterpreter, line 271, in __call__
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 888, in do_useMacro
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 852, in do_condition
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 954, in do_defineSlot
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 852, in do_condition
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 946, in do_defineSlot
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 533, in do_optTag_tal
Module zope.tal.talinterpreter, line 518, in do_optTag
Module zope.tal.talinterpreter, line 513, in no_tag
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 821, in do_loop_tal
Module zope.tal.talinterpreter, line 343, in interpret
Module zope.tal.talinterpreter, line 405, in do_startTag
Module zope.tal.talinterpreter, line 482, in attrAction_tal
Module Products.PageTemplates.Expressions, line 225, in evaluateText
Module zope.tales.tales, line 696, in evaluate
- URL: /peacehospice/portal_skins/custom/home_page_view
- Line 200, Column 12
- Expression: <PythonExpr alldoc.getObject().absolute_url()>
- Names:
{'container': <PloneSite at /peacehospice>,
'context': <ATDocument at /peacehospice/front-page>,
'default': <object object at 0x7fbed9313b30>,
'here': <ATDocument at /peacehospice/front-page>,
'loop': {u'alldoc': <Products.PageTemplates.Expressions.PathIterator object at 0x7fbebcd20c50>},
'nothing': None,
'options': {'args':()},
'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x7fbebde89680>,
'request': <HTTPRequest, URL=http://demo.kcsts.co.uk/front-page/home_page_view>,
'root': <Application at >,
'template': <ZopePageTemplate at /peacehospice/home_page_view used for /peacehospice/front-page>,
'traverse_subpath': [],
'user': <PropertiedUser 'dan'>}
Module Products.PageTemplates.ZRPythonExpr, line 48, in __call__
- __traceback_info__: alldoc.getObject().absolute_url()
Module PythonExpr, line 1, in <expression>
Module AccessControl.ImplPython, line 716, in guarded_getattr
Module AccessControl.ImplPython, line 658, in aq_validate
Module AccessControl.ImplPython, line 552, in validate
Module AccessControl.ImplPython, line 322, in validate
Module AccessControl.ImplPython, line 749, in raiseVerbose
Module AccessControl.ImplPython, line 726, in item_repr
Module plone.app.contentlisting.catalog, line 29, in __repr__
Module plone.app.contentlisting.catalog, line 74, in getPath
Module Products.ZCatalog.CatalogBrains, line 51, in getPath
AttributeError: getpath
СКАЗКИ для получения содержания коллекции:
<div id="all-documents" tal:define="allDocsBatch python:context.documents.alldocuments.results(b_start=b_start,b_size=10)">
<h3>All Documents</h3>
<div class="tabbedWrapper">
<div class="item" tal:repeat="alldoc allDocsBatch">
<p>
<img tal:replace="structure alldoc/getIcon" />
<a tal:attributes="href python:alldoc.getObject().absolute_url()" tal:content="alldoc/Title" />
<span class="tags" tal:condition="alldoc/Subject" tal:define="alldoctag alldoc/Subject">
<a tal:repeat="tag alldoctag" tal:content="tag"
tal:attributes="href string:${context/portal_url}/@@search?Subject:list=${tag}"/>
</span>
</p>
</div>
</div>
</div>
EDIT # 2
ПРИМЕЧАНИЕ нашли ссылку http://copilotco.com/mail-archives/plone-users.2007/msg05113.html, которая может помочь но пока у меня не было возможности посмотреть на это.
Полный ответ для версии .absolute_url() будет полезен. –
Если 'getFolderContents' возвращает URL-адреса, которые были правильно внедрены в виртуальную среду, происходит нечто более глубокое. Вероятно, где-то проблема покупки. Как вы получаете результаты сбора? –
@MartijnPieters Добавлено traceback также добавлено TALES – Dan