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