Ergebnis 1 bis 9 von 9

Thema: TALES Problem: Array zählen

  1. #1
    Teeny
    Registriert seit
    05.10.2010
    Beiträge
    27
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard TALES Problem: Array zählen

    Hallo,

    ich habe jetzt nächste problem zu kämpfen! Ich muss Suchergebnisdarstellung erweitern und zwar: Die Anzahl von Verweise soll mit angezeigt werden.

    Also habe ich so geschrieben:

    HTML-Code:
    <div tal:define="search_rel python:result.getObject().getRelatedItems">
       <span tal:repeat="rel_result search_rel">
           <span tal:replace="string: ${repeat/rel_result/length}">
           </span>
        </span>
    </div>
    Allerdings zeigt es mehreren Zahlen an. z.B. bei 3 Verweise, kommt es "3 3 3" raus.

    Zuvor habe ich mit "python: len(search_rel)" versucht, scheiterte es mit einer Fehlermeldung: "Exception Value len() of unsized object"

    Wie löst man das problem am bestens?

    Gruß
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Meister(in)
    Registriert seit
    14.02.2008
    Ort
    München
    Beiträge
    456
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: TALES Problem: Array zählen

    Hallo,

    das Problem ist recht simple, du verwendest den richtigen Ausdruck innerhalb des Schleifen Elements, somit wiederholt er dir natürlich die Zahl genau so oft wie du Elemente hast.

    Schau dir mal diese Seiten an:


    du müsstest meines Erachtens direkt schrieben können:

    Code:
    <div tal:define="search_rel python:result.getObject().getRelatedItems">        
         <span tal:replace="string: ${repeat/search_rel/length}" /> 
    </div>
    Gruss Pumukel
    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    05.10.2010
    Beiträge
    27
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: TALES Problem: Array zählen

    Es gibt dafür leider auch fehlermeldung

    Code:
    Exception Type:     TraversalError
    Exception Value:    (<Products.PageTemplates.Expressions.SafeMapping object at 0x7f1d4951e998>, 'search_rel')
    
    Line 435, Column 21
    Expression: <StringExpr u' ${repeat/search_rel/length}'>
    Gruß

  4. #4
    Meister(in)
    Registriert seit
    14.02.2008
    Ort
    München
    Beiträge
    456
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: TALES Problem: Array zählen

    Hallo,

    haben wir da jetzt zuviel belassen?

    Code:
    <div tal:define="search_rel python:result.getObject().getRelatedItems">        
         <span tal:replace="repeat/search_rel/length" />  
    </div>
    Weil er an der StringExp meckert. Der traversal sagt eigentlich das er das search_rel nicht kennt, bzw findet, hattest du am context noch was geändert?

    Gruss Pumukel
    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    05.10.2010
    Beiträge
    27
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: TALES Problem: Array zählen

    Hi,

    es kommt leider auch gleiche Fehlermeldung (Typ/Wert) raus.

    Am content habe ich nicht verändert. Es ist gleiche geblieben, seit der Script (s. 1. Beitrag) halbwegs funktioniert hatte. Diese Stelle habe ich dann so verändert, dass aus deiner Sicht funktionieren sollte.

    Gruß

  6. #6
    Meister(in)
    Registriert seit
    14.02.2008
    Ort
    München
    Beiträge
    456
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: TALES Problem: Array zählen

    Dann versuchen wir es mal mit einer eigentlich unsauberen aber funktionalen Variante:

    Code:
    <div tal:define="search_rel python:result.getObject().getRelatedItems">
        <span tal:repeat="rel_result search_rel" tal:replace="string: ${repeat/rel_result/length}" /> 
    </div>
    Da dein Statement ja das Ergebnis anzeigt, aber mehrfach versuchen wir mal die Schleife zu unterbrechen.

    Gruss Pumukel
    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  7. #7
    Teeny
    Themenstarter

    Registriert seit
    05.10.2010
    Beiträge
    27
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: TALES Problem: Array zählen

    Es funktioniert zwar, aber die Zahlen wird mehrfach angezeigt (-> gleiches Problem wie 1. Beitrag)


  8. #8
    Meister(in)
    Registriert seit
    14.02.2008
    Ort
    München
    Beiträge
    456
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: TALES Problem: Array zählen

    Also TAL kann manchmal echt gemein sein.

    Code:
    <div tal:define="search_rel python:result.getObject().getRelatedItems">      
         <span tal:repeat="rel_result search_rel" tal:replace="string: ${repeat/rel_result/length}" tal:condition="repeat/rel_result/start" />  
    </div>
    dadurch haben wir eine Abbruchbedingung für die Schleife, ist leider nicht gerade schön, weil es die Schleife trotzdem durchgeht, aber bloss einmal ausgibt.

    Aber Prinzipiel sehe ich gerade einen möglichen anderen Fehler, gibt er überhaupt das aus was du möchtest? weil im Statement
    Code:
    python:result.getObject().getRelatedItems
    fehlen meines erachtens die letzten Klammern
    Code:
    python:result.getObject().getRelatedItems()
    wenn das eine Liste zurück gibt muesste dadrüber auch die python len() funktion funktionieren.

    Gruss Pumukel
    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  9. #9
    Teeny
    Themenstarter

    Registriert seit
    05.10.2010
    Beiträge
    27
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: TALES Problem: Array zählen

    Das mit repeat können wir erstmal vergessen.

    Letzte Versuch mit getRelatedItems() und rel() hat es funktioniert!

    Danke dafür!

Ähnliche Themen

  1. explode() - Array zählen
    Von XantypiaxD im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 22.05.2011, 22:58
  2. PHP Problem Zählen
    Von Ace <3st im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 25.05.2009, 21:46
  3. Session / Array Problem
    Von FaFoo im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 03.06.2008, 14:20
  4. Tales of pirates
    Von Emil im Forum Off Topic und Quasselbox
    Antworten: 3
    Letzter Beitrag: 15.08.2007, 16:52
  5. Identische Werte im zweidimensionalen Array zählen
    Von Henning1 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 04.03.2006, 20:40

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •