Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Die Operatoren attribute und dump

attribute und dump aus eZTemplateAttributeOperator - auflisten, was ein Objekt, ein Hash oder ein Array Templates anbietet, mit oder ohne Werte, bis zu einer Tiefe, als HTML-Tabelle oder als Text, und warum ihre Ausgabe…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/template-operators/attribute-and-dump-operators.md

On this page

This page is a translation. Read the English original

Die Operatoren attribute und dump

Wenn Sie nicht wissen, was eine Variable enthält, listen attribute und dump es auf. Beide werden von eZTemplateAttributeOperator (lib/eztemplate/classes/eztemplateattributeoperator.php) über lib/eztemplate/classes/eztemplateautoload.php registriert. Sie durchlaufen Arrays und jedes Objekt, das die Methoden attributes() und attribute() hat (Knoten, Inhaltsobjekte, Attribute, Benutzer und die anderen persistenten Objekte), eine Ebene pro Schritt, und geben eine Zeile pro Schlüssel aus.

Die Ausgabe erzeugt ein Formatierer, der in template.ini gewählt wird:

[AttributeOperator]
DefaultFormatter=html
OutputFormatter[html]=ezpAttributeOperatorHTMLFormatter
OutputFormatter[text]=ezpAttributeOperatorTextFormatter

ezpAttributeOperatorManager::getOutputFormatter() (kernel/private/eztemplate/ezpattributeoperatormanager.php) fällt bei einem nicht registrierten Namen auf DefaultFormatter zurück. Eine Erweiterung kann eine Formatiererklasse hinzufügen, die ezpAttributeOperatorFormatterInterface implementiert, und sie unter OutputFormatter[] eintragen.

Inhalt

  1. attribute
  2. dump
  3. Sicherheit
  4. Verwandte Seiten

attribute

attribute

Listet die Schlüssel des gepipten Arrays oder Objekts auf, standardmäßig ohne Werte und zwei Ebenen tief.

ParameterTypErforderlichStandardwert
show_valuesZeichenkette: show, um Werte einzuschließennein'' (nur Namen und Typen)
max_valZahl: Anzahl der Ebenen, in die abgestiegen wirdnein2
formathtml oder textnein[AttributeOperator] DefaultFormatter

Eingabe: der zu untersuchende Wert, über die Pipe. Gibt die formatierte Auflistung zurück; ein Skalar oder ein leeres Array wird so zurückgegeben, wie der Formatierer es exportiert. Generierte Referenz: attribute.

Die Felder der Startseite von Fit & Healthy (Knoten 89), eine Ebene, als Text:

{def $node = fetch( 'content', 'node', hash( 'node_id', 89 ) )}
{$node.data_map|attribute( 'show', 1, 'text' )}

Ausgabe:

title (object[eZContentObjectAttribute]=Object)
metadata (object[eZContentObjectAttribute]=Object)
teaser_title (object[eZContentObjectAttribute]=Object)
teaser_intro (object[eZContentObjectAttribute]=Object)
full_intro (object[eZContentObjectAttribute]=Object)
image (object[eZContentObjectAttribute]=Object)
tags (object[eZContentObjectAttribute]=Object)

Ohne show nur Namen und Typen:

{def $hash = hash( 'title', 'Fit & Healthy', 'tags', array( 'fit', 'healthy' ) )}
{$hash|attribute( '', 2, 'text' )}

Ausgabe:

title (string)
tags (array)
    0 (string)
    1 (string)

dump

dump

Derselbe Durchlauf mit anderen Standardwerten: Werte werden angezeigt, eine Ebene tief.

ParameterTypErforderlichStandardwert
show_valuesZeichenkette: show, um Werte einzuschließennein'show'
max_valZahl: Anzahl der Ebenen, in die abgestiegen wirdnein1
formathtml oder textnein[AttributeOperator] DefaultFormatter

Generierte Referenz: dump.

{def $hash = hash( 'title', 'Fit & Healthy', 'tags', array( 'fit', 'healthy' ) )}
{$hash|dump( 'show', 2, 'text' )}

Ausgabe:

title (string='Fit & Healthy')
tags (array=Array(2))
    0 (string='fit')
    1 (string='healthy')

Mit dem Standardformatierer html ist das Ergebnis eine Tabelle:

{hash( 'node_id', 89, 'name', 'Fit & Healthy' )|dump}

Ausgabe:

<table><tr><th align="left">Attribute</th>
<th align="left">Type</th>
<th align="left">Value</th>
</tr>
<tr><td>node_id</td>
<td>integer</td>
<td>89</td>
</tr>
<tr><td>name</td>
<td>string</td>
<td>'Fit & Healthy'</td>
</tr>
</table>

Ein Skalar kommt unverändert zurück:

[{'plain text'|dump( 'show', 1, 'text' )}] [{42|attribute( 'show', 1, 'text' )}]

Ausgabe:

['plain text'] [42]

Sicherheit

  • Der HTML-Formatierer maskiert Werte nicht: 'Fit & Healthy' kam oben mit einem nackten & heraus. Ein Wert, der Markup oder Skript enthält, wird so ausgegeben, wie er ist. Verwenden Sie diese Operatoren auf einer Entwicklungsinstallation oder in einem Block, den nur Administratoren sehen, und entfernen Sie sie, bevor ein Template live geht.
  • Eine tiefe Ebene bei einem Knoten läuft in sein Objekt, seine Versionen, seine Eltern und deren Attribute: Jede Ebene vervielfacht die Zahl der Datenbankabfragen. Beginnen Sie mit max_val 1.
  • Manche Attribute werden erst beim Lesen berechnet. Sie mit Werten aufzulisten führt diesen Code aus, sodass ein dump langsam sein kann, auch wenn die Seite klein ist.

Die Beispiele wurden auf einer Entwicklungsinstallation vom Interpreter und noch einmal mit dem Template-Compiler gerendert; beide lieferten dieselbe Ausgabe.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x