Sorry aber er bringt wiedermal nen Fehler
Fehlertyp
NameError
Fehlerwert
name 'normalizeString' is not defined
Vielleicht findest du ja woran es liegt.
Trotzdem sei dir tiefster Dank ausgesprochen
Sorry aber er bringt wiedermal nen Fehler
Fehlertyp
NameError
Fehlerwert
name 'normalizeString' is not defined
Vielleicht findest du ja woran es liegt.
Trotzdem sei dir tiefster Dank ausgesprochen
Dann kommt der hier:
Fehlertyp
AttributeError
Fehlerwert
hit
hmmmpf
Poste mal bitte dein PageTemplate welches du in /portal_skins/custom/portlet_stats stehen hast.
Das kommt mir echt merkwürdig vor.
Torty
na das is dein quellcode^^
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
i18n:domain="plone">
<body>
<div metal:define-macro="portlet"
tal:define="utool nocall: here/portal_url;
portal utool/getPortalObject;
mxmCounter portal/mxm_counter;
hitList mxmCounter/getSortedByHits;">
<dl class="portlet" id="portlet-workflow-review">
<dt class="portletHeader">
<span class="portletTopLeft"></span>
<span i18n:translate="">Site Statistic</span>
<span class="portletTopRight"></span>
</dt>
<tal:hasHits condition="hitList">
<tal:vars define="top5 python: hitList[:5];"
repeat="hit top5">
<dd class="portletItem"
tal:define="oddrow repeat/hit/odd"
tal:attributes="class python:test(oddrow, 'portletItem even','portletItem odd')">
<div tal:define="hitObj python: here.restrictedTraverse(hit[0]);"
tal:attributes="class python:'visualIcon';">
<a href="#" class="visualIconPadding tile"
tal:condition="not: nothing"
tal:attributes="href string:${hitObj/absolute_url};
title hitObj/Description;"
tal:content="string:${repeat/hit/number}. ${hitObj/Title}">
title of the page
</a>
</div>
</dd>
</tal:vars>
</tal:hasHits>
<tal:noHits condition="not: hitList">
<span i18n:translate="">no hits found</span>
</tal:noHits>
<dd class="portletFooter">
<span class="portletBottomLeft"></span>
<span class="portletBottomRight"></span>
</dd>
</dl>
</div>
</body>
</html>
Alles anzeigen
Wieso kommt bei dir ein solcher Fehler der keinen Sinn macht, da es zu Plone gehörende Funktionalitäten sind.
Ok gibt bitte noch den Traceback aus /error.log.
Torty
wo finde ich die LogFile? sorry bin blutjunger anfänger
Du findest es im Plonesite-Root unter /error.log. Dort klickst du auf den Fehler und bekommst den Traceback. Diesen gibst du mal hier an.
Thx.
PS: Komm erst wieder gegen Abend zum Antworten - also bis denne.
Torty
ich kann erst am montag wieder antworten, da WE Urlaub... aber ich finde nichts im error.log sorry hier nochmal nen screenshot.
Also ich hab deinen Code bei mir in einer Standard-Plone2.5.1-Instanllation probiert und das klappte.
Siehe Bild.
Torty
hmm also erstmal danke... aber wie gesagt bei mir kommt echt immer der Fehler normalizeString() not defined... hast du vielleicht noch sachen installiert, die ich nicht habe?
Das ding ist, dass wenn ich die Zeile mit normalizeString(...) auskommentiere, dann gibts den Fehler:
Fehlertyp
AttributeError
Fehlerwert
hit
ich hab echt keine Ahnung wieso das bei dir funktioniert und bei mir nicht...
gruß Max
Was hast du denn bei dir eingerichtet?
Also:
* OS (war glaub ich WinXP)
* Zope-Version
* Plone-Version
Die Methode normalizeString() ist in CMFPlone und CMFCore definiert. Wobei CMFPLone in PloneTool.py in Zeile 1055 auch auf die CMFCore-Methode in utils.py ab Zeile 219 verweist. Wenn du also Plone installiert hast und es läuft, dann hast du auch diese Methoden zur Verfügung.
In deinem Screen war zu sehen, dass du noch keine "Plone site" erstellt hast. Bist du dir sicher, dass mein Portlet in deinem Plone läuft. Sorry für die seltsamen Fragen, aber es ist auczh ein seltsames Problem...
Torty
Was meinst du damit ich hätte keine Plone-Site? ich hab doch meine Willkommensite... da soll das dann untern Kalender oder so...
und naja Plone läuft aber auf Linux2
Plone Version (2.5.1)
Zope Version (Zope 2.9.5-final, python 2.4.4, linux2)
Python Version 2.4.4 (#2, Oct 20 2006, 00:23:25) [GCC 4.1.2 20061015 (prerelease) (Debian 4.1.1-16.1)]
System Platform linux2
ich hab hier nochmal den Traceback vom Fehler wegen normailzeString not definded
Traceback (innermost last):
Module ZPublisher.Publish, line 115, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 41, in call_object
Module Shared.DC.Scripts.Bindings, line 311, in __call__
Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
Module Products.PageTemplates.ZopePageTemplate, line 255, in _exec
Module Products.PageTemplates.PageTemplate, line 104, in pt_render
- <ZopePageTemplate at /willkommen/portal_skins/custom/portlet_stats>
Module TAL.TALInterpreter, line 238, in __call__
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 728, in do_defineMacro
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 715, in do_condition
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 457, in do_optTag_tal
Module TAL.TALInterpreter, line 442, in do_optTag
Module TAL.TALInterpreter, line 437, in no_tag
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 691, in do_loop_tal
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 457, in do_optTag_tal
Module TAL.TALInterpreter, line 442, in do_optTag
Module TAL.TALInterpreter, line 437, in no_tag
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 339, in do_startTag
Module TAL.TALInterpreter, line 405, in attrAction_tal
Module Products.PageTemplates.TALES, line 227, in evaluateText
Module Products.PageTemplates.TALES, line 221, in evaluate
- URL: /willkommen/portal_skins/custom/portlet_stats
- Line 25, Column 14
- Expression: <PythonExpr 'visualIcon contenttype-' + normalizeString(hitObj.portal_type)>
- Names:
{'container': <Folder at /willkommen/portal_skins/custom>,
'context': <Folder at /willkommen/portal_skins/custom>,
'default': <Products.PageTemplates.TALES.Default instance at 0x40d9218c>,
'here': <Folder at /willkommen/portal_skins/custom>,
'loop': <Products.PageTemplates.TALES.SafeMapping object at 0x477e1f2c>,
'modules': <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter instance at 0x40dbe24c>,
'nothing': None,
'options': {'args': ()},
'repeat': <Products.PageTemplates.TALES.SafeMapping object at 0x477e1f2c>,
'request': <HTTPRequest, URL=http://10.1.1.180/willkommen/portal_skins/custom/portlet_stats>,
'root': <Application at >,
'template': <ZopePageTemplate at /willkommen/portal_skins/custom/portlet_stats>,
'traverse_subpath': [],
'user': <PropertiedUser 'admin'>}
Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
- __traceback_info__: 'visualIcon contenttype-' + normalizeString(hitObj.portal_type)
Module Python expression "'visualIcon contenttype-' + normalizeString(hitObj.portal_type)", line 1, in <expression>
NameError: name 'normalizeString' is not defined
Alles anzeigen
Das hier sind meine installiereten Produkte vielleicht hilft das ja weiter:
ATContentTypes 1.1.3-final installed
ATMediaPage 0.1.9 installed
ATReferenceBrowserWidget 1.5 installed
Archetypes 1.4.1-final installed
BTreeFolder2 BTreeFolder2-1.0.2
CMFActionIcons CMF-1.6.2 installed
CMFCalendar CMF-1.6.2 installed
CMFCore CMF-1.6.2
CMFDefault CMF-1.6.2
CMFDynamicViewFTI 2.1
CMFFormController 2.0.5 installed
CMFPlacefulWorkflow 1.0.2 installed
CMFPlone 2.5.1
CMFQuickInstallerTool 1.5.9 installed
CMFSetup CMF-1.6.2
CMFTopic CMF-1.6.2
CMFUid CMF-1.6.2
DCWorkflow CMF-1.6.2
ExtendedPathIndex 2.4
ExternalEditor 0.9.2
ExternalMethod External Method-1-0-0
FCKeditor 2.3.2 installed
Five Five 1.3.7
GenericSetup GenericSetup-1.1
GroupUserFolder 3.54 installed
LDAPMultiPlugins 1.4
LDAPUserFolder 2.8-beta
MIMETools
MailHost MailHost-1-3-0
Marshall 0.6.6-final
MimetypesRegistry 1.4.1-final installed
OFSP OFSP-1-0-0
PageTemplates PageTemplates-1-4-0
PasswordResetTool 0.4.1 installed
PlacelessTranslationService 1.3.3
PloneArticle 3.2.3 installed
PloneErrorReporting 1.0 installed
PloneLanguageTool 1.4
PlonePAS 2.1 installed
PloneTranslations 2.6.0
Ploneboard 1.0-beta3 (svn/unreleased) installed
PluggableAuthService PluggableAuthService-1.4
PluginIndexes
PluginRegistry 1.1.1
PortalTransforms 1.4.1-final installed
PythonScripts PythonScripts-2-0-0
ResourceRegistries 1.3.2 installed
SecureMailHost 1.0.4
Sessions
SimplePortlet 1.1.1 installed
SiteAccess SiteAccess-2-0-0
SiteErrorLog
StandardCacheManagers StandardCacheManagers-1-1-0
TemporaryFolder
TextIndexNG2 2.2.0
TextIndexNG3 3.1.13 installed
Transience
ZCTextIndex
ZCatalog ZCatalog-2-2-0
ZGadflyDA
ZODBMountPoint
ZReST 1.1
ZSQLMethods
ZWiki ZWiki-0-55-0 installed
ZopeTutorial Zope Tutorial 1.2
kupu kupu 1.3.8 installed
mxmCounter 1.1.0
sdotNews 1.4.2
statusmessages 2.0.1
validation 1.4.1-final
Alles anzeigen
muss das normalizeString(..) eventuell in Hochkommas? Also so etwa:
<div tal:define="hitObj python: here.restrictedTraverse(hit[0]);"
tal:attributes="class python:'visualIcon contenttype-' + 'normalizeString(hitObj.portal_type)'">
falls du jetzt denkst: Ja, das wars... dann muss ich dich enttäuschen, denn dann bekomme ich den Fehler
Fehlertyp
AttributeError
Fehlerwert
hit
dabei geht es um das "hit[0]" ich weiss nich aber damit scheint er nich klar zu kommen
Dabei habe ich dann den Trace
Traceback (innermost last):
Module ZPublisher.Publish, line 115, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 41, in call_object
Module Shared.DC.Scripts.Bindings, line 311, in __call__
Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
Module Products.PageTemplates.ZopePageTemplate, line 255, in _exec
Module Products.PageTemplates.PageTemplate, line 104, in pt_render
- <ZopePageTemplate at /willkommen/portal_skins/custom/portlet_stats>
Module TAL.TALInterpreter, line 238, in __call__
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 728, in do_defineMacro
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 715, in do_condition
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 457, in do_optTag_tal
Module TAL.TALInterpreter, line 442, in do_optTag
Module TAL.TALInterpreter, line 437, in no_tag
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 691, in do_loop_tal
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 457, in do_optTag_tal
Module TAL.TALInterpreter, line 442, in do_optTag
Module TAL.TALInterpreter, line 437, in no_tag
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 507, in do_setLocal_tal
Module Products.PageTemplates.TALES, line 221, in evaluate
- URL: /willkommen/portal_skins/custom/portlet_stats
- Line 25, Column 14
- Expression: <PythonExpr here.restrictedTraverse(hit[0])>
- Names:
{'container': <Folder at /willkommen/portal_skins/custom>,
'context': <Folder at /willkommen/portal_skins/custom>,
'default': <Products.PageTemplates.TALES.Default instance at 0x40d9218c>,
'here': <Folder at /willkommen/portal_skins/custom>,
'loop': <Products.PageTemplates.TALES.SafeMapping object at 0x46adcd4c>,
'modules': <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter instance at 0x40dbe24c>,
'nothing': None,
'options': {'args': ()},
'repeat': <Products.PageTemplates.TALES.SafeMapping object at 0x46adcd4c>,
'request': <HTTPRequest, URL=http://10.1.1.180/willkommen/portal_skins/custom/portlet_stats>,
'root': <Application at >,
'template': <ZopePageTemplate at /willkommen/portal_skins/custom/portlet_stats>,
'traverse_subpath': [],
'user': <PropertiedUser 'admin'>}
Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
- __traceback_info__: here.restrictedTraverse(hit[0])
Module Python expression "here.restrictedTraverse(hit[0])", line 1, in <expression>
Module OFS.Traversable, line 250, in restrictedTraverse
Module OFS.Traversable, line 187, in unrestrictedTraverse
- __traceback_info__: (['portlet_view'], 'hit')
Module Products.Five.traversable, line 126, in __bobo_traverse__
AttributeError: hit
Alles anzeigen
Ohmann... das is alles garnich sooo leicht...
Danke Max
Nein.
Also normalizeString wird in plone_templates/global_defines.pt definiert und wird fortan als Funktion verwendet. Hat er Plone - hat er auch diese Methode/Funktion.
Ich weiß ich dreh mich im Kreis mit meinen Aussagen, aber so ist es nun mal.
hit[0] ist nicht das Problem, denn sonst würde er sagen 'out of range' oder der Gleichen. Er will hit als Key verwenden was nicht sinnig ist. Logisch schon gleich gar nicht.
Die Anweisung:
sagt aus: "traversiere zu dem Object, welches durch den Pfad in hit[0] definiert ist und lege die Referenz darauf in hitObj ab."
Da es ein Pfad ist, der in hit[0] gespeichert ist, sollte auch
funktionieren. ... mom ... jupp - klappt auch.
Ich bin mir nicht sicher ob wir nicht irgendwas übersehen.
Mein Vorschlag:
Setze eine neue Plonesite auf in der du den mxm nochmal versuchst einzubinden. Dann richte dort einen User xyz ein und gib mir das Pwd. Dann habe ich maximal Zugriff auf die neue Plonesite und die ist ja praktisch leer. Anders denk ich werden wir nicht zum Zuge kommen.
Du hast natürlich die Freiheit dein Problem auch auf der DZUG-ML zu schreiben, denn dort laufen viele fähige Leute rum.
Torty
Also wie gesagt Zugriff würd ich dir nicht so gern geben.
"Wenigstens" habe ich jetz mit der neuen Zeile einen anderen Fehler wo er auf jedenfall schonmal den Titel einer Seite auflöst und zwar:
Fehlertyp
KeyError
Fehlerwert
'willkommen' (<<Titel des ersten Elements aus dem Array)
hier der Traceback
Traceback (innermost last):
Module ZPublisher.Publish, line 115, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 41, in call_object
Module Shared.DC.Scripts.Bindings, line 311, in __call__
Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
Module Products.PageTemplates.ZopePageTemplate, line 255, in _exec
Module Products.PageTemplates.PageTemplate, line 104, in pt_render
- <ZopePageTemplate at /willkommen/portal_skins/custom/portlet_stats>
Module TAL.TALInterpreter, line 238, in __call__
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 728, in do_defineMacro
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 715, in do_condition
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 457, in do_optTag_tal
Module TAL.TALInterpreter, line 442, in do_optTag
Module TAL.TALInterpreter, line 437, in no_tag
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 691, in do_loop_tal
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 457, in do_optTag_tal
Module TAL.TALInterpreter, line 442, in do_optTag
Module TAL.TALInterpreter, line 437, in no_tag
Module TAL.TALInterpreter, line 281, in interpret
Module TAL.TALInterpreter, line 507, in do_setLocal_tal
Module Products.PageTemplates.TALES, line 221, in evaluate
- URL: /willkommen/portal_skins/custom/portlet_stats
- Line 25, Column 14
- Expression: nocall:' python: path(hit[0])'
- Names:
{'container': <Folder at /willkommen/portal_skins/custom>,
'context': <Folder at /willkommen/portal_skins/custom>,
'default': <Products.PageTemplates.TALES.Default instance at 0x40d9218c>,
'here': <Folder at /willkommen/portal_skins/custom>,
'loop': <Products.PageTemplates.TALES.SafeMapping object at 0x488823ac>,
'modules': <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter instance at 0x40dbe24c>,
'nothing': None,
'options': {'args': ()},
'repeat': <Products.PageTemplates.TALES.SafeMapping object at 0x488823ac>,
'request': <HTTPRequest, URL=http://10.1.1.180/willkommen/portal_skins/custom/portlet_stats>,
'root': <Application at >,
'template': <ZopePageTemplate at /willkommen/portal_skins/custom/portlet_stats>,
'traverse_subpath': [],
'user': <PloneUser 'scheer'>}
Module Products.PageTemplates.Expressions, line 185, in __call__
Module Products.PageTemplates.Expressions, line 173, in _eval
Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
- __traceback_info__: path(hit[0])
Module Python expression "path(hit[0])", line 1, in <expression>
Module Products.PageTemplates.PythonExpr, line 85, in __call__
Module Products.PageTemplates.Expressions, line 185, in __call__
Module Products.PageTemplates.Expressions, line 173, in _eval
Module Products.PageTemplates.Expressions, line 127, in _eval
- __traceback_info__:
Module Products.PageTemplates.Expressions, line 320, in restrictedTraverse
- __traceback_info__: {'path': ['willkommen', 'index.html'], 'TraversalRequestNameStack': ['index.html']}
KeyError: 'willkommen'
Alles anzeigen
Vielen Dank Max
Ok - schauen wir was auf der DZUG dazu kommt ...
Torty
Also ich hab mal ne neue Plone Site aufgesetzt und das Portlet da eingebunden; Kam derselbe Fehler...
Gruß Max
Kleines Update, damit das Portlet "ganz bleibt" wenn keine Treffer gefunden werden.
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
i18n:domain="plone">
<body>
<div metal:define-macro="portlet"
tal:define="utool nocall: here/portal_url;
portal utool/getPortalObject;
mxmCounter portal/mxm_counter;
hitList mxmCounter/getSortedByHits;">
<dl class="portlet" id="portlet-workflow-review">
<dt class="portletHeader">
<span class="portletTopLeft"></span>
<span i18n:translate="">Site Statistic</span>
<span class="portletTopRight"></span>
</dt>
<tal:hasHits condition="hitList">
<tal:vars repeat="hit python: hitList[:5]">
<dd class="portletItem"
tal:define="oddrow repeat/hit/odd"
tal:attributes="class python:test(oddrow, 'portletItem even','portletItem odd')">
<div tal:define="hitObj python: here.restrictedTraverse(hit[0]);"
tal:attributes="class python:'visualIcon contenttype-' + normalizeString(hitObj.portal_type)">
<a href="#" class="visualIconPadding tile"
tal:condition="not: nothing"
tal:attributes="href string:${hitObj/absolute_url};
title hitObj/Description;"
tal:content="string:${repeat/hit/number}. ${hitObj/Title}">
title of the page
</a>
</div>
</dd>
</tal:vars>
</tal:hasHits>
<tal:noHits condition="not: hitList">
<dd class="portletItem odd">
<div class="visualIcon"
i18n:translate="">
no hits found
</div>
</dd>
</tal:noHits>
<dd class="portletFooter">
<span class="portletBottomLeft"></span>
<span class="portletBottomRight"></span>
</dd>
</dl>
</div>
</body>
</html>
Alles anzeigen
Torty