Referenz von Inhaltsattribut und Version
Die Werte von data_map sind Objekte eZContentObjectAttribute (kernel/classes/ezcontentobjectattribute.php): ein Feld einer Version in
einer Sprache. Eine Version ist ein eZContentObjectVersion (kernel/classes/ezcontentobjectversion.php), erreichbar über $object.current
oder $object.versions. Diese Seite führt auf, was Templates von beiden lesen können und was content für jeden Datentyp ist.
Inhalt
- Inhaltsobjekt-Attribut: Datenbankfelder
- Inhaltsobjekt-Attribut: Funktionsattribute
- Was content zurückgibt, pro Datentyp
- Version: Datenbankfelder
- Version: Funktionsattribute
- Hinweise
- Verwandte Seiten
Die Tabellen entstanden wie die Tabelle der Knotenattribute: definition() aufgeführt und jeder Name auf
einer Entwicklungsinstallation gelesen, hier am Attribut title und an der aktuellen Version von Knoten 96 (Objekt 94, ein ng_article).
Inhaltsobjekt-Attribut: Datenbankfelder
| Attribut | Datenbankspalte / Mitglied | Datentyp | Wert auf einer Entwicklungsinstallation (Knoten 96) |
|---|---|---|---|
id | ID | integer | integer 580 |
contentobject_id | ContentObjectID | integer | integer 94 |
version | Version | integer | integer 1 |
language_code | LanguageCode | string | string "eng-US" |
language_id | LanguageID | integer | integer 2 |
contentclassattribute_id | ContentClassAttributeID | integer | integer 334 |
attribute_original_id | AttributeOriginalID | integer | integer 0 |
sort_key_int | SortKeyInt | integer | integer 0 |
sort_key_string | SortKeyString | string | string "why should you choose strength training?" |
data_type_string | DataTypeString | string | string "ezstring" |
data_text | DataText | text | string "Why Should You Choose Strength Training?" |
data_int | DataInt | integer | null |
data_float | DataFloat | float | double 0.0 |
Die Felder data_text, data_int und data_float sind die rohe Speicherung. Welches ein Datentyp nutzt und wie, ist Sache des Datentyps:
ezstring behält seinen Text in data_text und lässt data_int leer (null oben); eZContentObjectAttribute::attribute() macht aus einem
data_text mit null den Wert '', sodass Templates dort nie null sehen.
Inhaltsobjekt-Attribut: Funktionsattribute
| Funktionsattribut | PHP-Methode | Wert auf einer Entwicklungsinstallation (Knoten 96) |
|---|---|---|
contentclass_attribute | eZContentObjectAttribute::contentClassAttribute() | Objekt eZContentClassAttribute |
contentclass_attribute_identifier | eZContentObjectAttribute::contentClassAttributeIdentifier() | string "title" |
contentclass_attribute_name | eZContentObjectAttribute::contentClassAttributeName() | string "Title" |
can_translate | eZContentObjectAttribute::contentClassAttributeCanTranslate() | integer 1 |
is_information_collector | eZContentObjectAttribute::contentClassAttributeIsInformationCollector() | integer 0 |
is_required | eZContentObjectAttribute::contentClassAttributeIsRequired() | integer 1 |
content | eZContentObjectAttribute::content() | string "Why Should You Choose Strength Training?" |
has_http_value | eZContentObjectAttribute::hasHTTPValue() | boolean false |
value | eZContentObjectAttribute::value() | string "Why Should You Choose Strength Training?" |
has_content | eZContentObjectAttribute::hasContent() | boolean true |
class_content | eZContentObjectAttribute::classContent() | string "" |
object | eZContentObjectAttribute::object() | Objekt eZContentObject |
object_version | eZContentObjectAttribute::objectVersion() | Objekt eZContentObjectVersion |
view_template | eZContentObjectAttribute::viewTemplateName() | string "ezstring" |
edit_template | eZContentObjectAttribute::editTemplateName() | string "ezstring" |
result_template | eZContentObjectAttribute::resultTemplate() | string "ezstring" |
has_validation_error | eZContentObjectAttribute::hasValidationError() | boolean false |
validation_error | eZContentObjectAttribute::validationError() | null |
validation_log | eZContentObjectAttribute::validationLog() | null |
language | eZContentObjectAttribute::language() | Objekt eZContentObjectAttribute |
is_a | eZContentObjectAttribute::isA() | string "ezstring" |
display_info | eZContentObjectAttribute::displayInfo() | array(4) aus array |
class_display_info | eZContentObjectAttribute::classDisplayInfo() | array(2) aus array |
Ein Beispiel:
def $attribute = fetch( 'content', 'node', hash( 'node_id', 96 ) ).data_map.title
id / version / language: $attribute.id / $attribute.version / $attribute.language_code
class attribute: $attribute.contentclass_attribute_identifier "$attribute.contentclass_attribute_name|wash" ($attribute.contentclassattribute_id)
datatype: $attribute.data_type_string, is_a: $attribute.is_a
required / translatable: $attribute.is_required / $attribute.can_translate
templates: view $attribute.view_template, edit $attribute.edit_template
stored: data_text "$attribute.data_text|wash", sort_key_string "$attribute.sort_key_string|wash"Ausgabe:
id / version / language: 580 / 1 / eng-US
class attribute: title "Title" (334)
datatype: ezstring, is_a: ezstring
required / translatable: 1 / 1
templates: view ezstring, edit ezstring
stored: data_text "Why Should You Choose Strength Training?", sort_key_string "why should you choose strength training?"Was content zurückgibt, pro Datentyp
content ruft eZContentObjectAttribute::content() auf, das einmal objectAttributeContent() des Datentyps fragt und das Ergebnis am
Attribut behält. Dieses Template durchlief die ersten 150 Knoten unter der Startseite Fit & Healthy auf einer Entwicklungsinstallation und gab für jeden Datentyp beim
ersten Mal mit Inhalt aus, was content zurückgab:
def $seen = array()
foreach fetch( 'content', 'tree', hash( 'parent_node_id', 89, 'limit', 150 ) ) as $nodeforeach $node.data_map as $attributeif and( $attribute.has_content, $seen|contains( $attribute.data_type_string )|not )set $seen = $seen|append( $attribute.data_type_string )$attribute.data_type_string: if is_object( $attribute.content )object $attribute.content|get_classelse$attribute.content|get_type|explode( '[' )|extract_left( 1 )|implode( '' )/if ($node.class_identifier.$attribute.contentclass_attribute_identifier)
/if/foreach/foreachAusgabe:
ezstring: string (ng_article.title)
ezxmltext: object ezxmltext (ng_article.teaser_intro)
xrowmetadata: object xrowmetadata (ng_article.metadata)
eztags: object eztags (ng_landing_page.tags)
ezimage: object ezimagealiashandler (ng_article.image)
ezobjectrelationlist: array (ng_article.authors)
ezdatetime: object ezdatetime (ng_blog_post.publish_date)
ezinteger: integer (ng_gallery.column_count)
ezboolean: integer (ng_category.show_children)
ezemail: string (ng_contact_form.recipient)
ngenhancedlink: object ngenhancedlinkvalue (ng_component_hero.link_1)
ezbinaryfile: object ezbinaryfile (ng_video.video_file)
ezmedia: object ezmedia (ng_audio.file)
eztext: string (ng_htmlbox.html_code)
ezurl: string (ng_site_info.facebook)
ezprice: object ezprice (product.price)
ezsrrating: object ezsrratingobject (product.rating)
ezmatrix: object ezmatrix (product.specifications)| Datentyp | content auf einer Entwicklungsinstallation | Seite des Datentyps |
|---|---|---|
ezstring, eztext, ezemail, ezurl | Zeichenkette (bei ezurl die URL) | ezstring, eztext, ezemail, ezurl |
ezinteger, ezboolean | ganze Zahl | ezinteger, ezboolean |
ezxmltext | Objekt eZXMLText; .output.output_text ist das gerenderte HTML | ezxmltext |
ezimage | eZImageAliasHandler; .original, [alias name] | ezimage |
ezobjectrelationlist | Array mit dem Schlüssel relation_list | ezobjectrelationlist |
ezdatetime | Objekt eZDateTime | ezdatetime |
ezbinaryfile | Objekt eZBinaryFile | ezbinaryfile |
ezmedia | Objekt eZMedia | ezmedia |
ezprice | Objekt eZPrice | ezprice |
ezmatrix | Objekt eZMatrix | ezmatrix |
eztags | Objekt eZTags (Erweiterung eztags) | |
xrowmetadata | Objekt xrowMetaData (Erweiterung xrowmetadata) | |
ngenhancedlink | Objekt ngEnhancedLinkValue (Erweiterung exp_enhanced_link) | |
ezsrrating | ezsrRatingObject (Erweiterung ezstarrating) |
get_class schreibt Klassennamen klein, das Beispiel zeigt also ezimagealiashandler für eZImageAliasHandler. Die Seite
Data Map und Inhalt liest mehrere dieser Inhalte im Detail.
Version: Datenbankfelder
| Attribut | Datenbankspalte / Mitglied | Datentyp | Wert auf einer Entwicklungsinstallation (Knoten 96) |
|---|---|---|---|
id | ID | integer | integer 544 |
contentobject_id | ContentObjectID | integer | integer 94 |
creator_id | CreatorID | integer | integer 14 |
version | Version | integer | integer 1 |
status | Status | integer | integer 1 |
created | Created | integer | integer 1600936225 |
modified | Modified | integer | integer 1600936234 |
workflow_event_pos | WorkflowEventPos | integer | integer 0 |
user_id | UserID | integer | integer 0 |
language_mask | LanguageMask | integer | integer 2 |
initial_language_id | InitialLanguageID | integer | integer 2 |
status ist der Status der Version: eZContentObjectVersion::STATUS_DRAFT (0), STATUS_PUBLISHED (1), STATUS_PENDING (2),
STATUS_ARCHIVED (3), STATUS_REJECTED (4), STATUS_INTERNAL_DRAFT (5), STATUS_REPEAT (6), STATUS_QUEUED (7).
Version: Funktionsattribute
| Funktionsattribut | PHP-Methode | Wert auf einer Entwicklungsinstallation (Knoten 96) |
|---|---|---|
creator | eZContentObjectVersion::creator() | Objekt eZContentObject |
name | eZContentObjectVersion::name() | string "Why Should You Choose Strength Training?" |
version_name | eZContentObjectVersion::versionName() | string "Why Should You Choose Strength Training?" |
main_parent_node_id | eZContentObjectVersion::mainParentNodeID() | integer 92 |
contentobject_attributes | eZContentObjectVersion::contentObjectAttributes() | array(18) aus eZContentObjectAttribute |
related_contentobject_array | eZContentObjectVersion::relatedContentObjectArray() | array(0) |
reverse_related_object_list | eZContentObjectVersion::reverseRelatedObjectList() | array(0) |
parent_nodes | eZContentObjectVersion::parentNodes() | array(1) aus eZNodeAssignment |
can_read | eZContentObjectVersion::canVersionRead() | boolean false |
can_remove | eZContentObjectVersion::canVersionRemove() | boolean false |
data_map | eZContentObjectVersion::dataMap() | array(18) aus eZContentObjectAttribute |
node_assignments | eZContentObjectVersion::nodeAssignments() | array(1) aus eZNodeAssignment |
contentobject | eZContentObjectVersion::contentObject() | Objekt eZContentObject |
initial_language | eZContentObjectVersion::initialLanguage() | Objekt eZContentLanguage |
language_list | eZContentObjectVersion::translations() | array(1) aus eZContentObjectTranslation |
translation | eZContentObjectVersion::translation() | boolean false |
translation_list | eZContentObjectVersion::defaultTranslationList() | array(1) aus eZContentObjectTranslation |
complete_translation_list | eZContentObjectVersion::translationList() | array(1) aus eZContentObjectTranslation |
temp_main_node | eZContentObjectVersion::tempMainNode() | Objekt eZContentObjectTreeNode |
Ein Beispiel:
def $version = fetch( 'content', 'node', hash( 'node_id', 96 ) ).object.current
version $version.version, status $version.status, created $version.created|datetime( 'custom', '%Y-%m-%d' )
name in this version: $version.version_name|wash
translations: foreach $version.translation_list as $t$t.language_codedelimiter, /delimiter/foreach
creator object id: $version.creator_idAusgabe:
version 1, status 1, created 2020-09-24
name in this version: Why Should You Choose Strength Training?
translations: eng-US
creator object id: 14Hinweise
languagegibt dasselbe Attribut in einer anderen Sprache zurück: ohne Sprachcode in der Ausgangssprache des Objekts (eZContentObjectAttribute::language()).view_templateundedit_templatesind die Namen (ohne.tpl), dieattribute_view_guiundattribute_edit_guiuntercontent/datatype/view/undcontent/datatype/edit/suchen; bei einem Attribut zur Informationssammlung gibtview_templatestattdessen das Template des Sammlers zurück.class_contentist der Inhalt des Klassenattributs (die Einstellungen des Felds, etwa die Optionen einer Auswahl).has_contentkommt vonhasObjectAttributeContent()des Datentyps. Die meisten Datentypen geben einen booleschen Wert zurück; der Datentypezimagegab auf einer Entwicklungsinstallation bei einem Bildfeld ohne Bild eine leere Zeichenkette zurück (siehe Der Template-Compiler dazu, warum das beichoosezählt).can_readundcan_removeeiner Version prüfen die Richtliniencontent/versionreadundcontent/versionremovedes aktuellen Benutzers; als anonymer Benutzer waren beide false.
Verwandte Seiten
- Das Objektmodell in Templates
- Data Map und Inhalt
- Referenz der Knotenattribute
- Referenz der Attribute von Inhaltsobjekten
- Ansichts-Templates von Datentypen
- Datentypen mit Beispielen
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
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.