Bitrix – es ist ein beliebtes CMS, das umfangreiche Möglichkeiten zum Einrichten und Verwalten der Website bietet. Eine der Möglichkeiten von Bitrix besteht darin, benutzerdefinierte Felder für Benutzerprofile und andere Objekte zu erstellen.
Gehen Sie zuerst zum Bitrix-Administrationsbereich und öffnen Sie den Abschnitt «Benutzerdefinierte Felder». Hier können Sie neue Felder erstellen oder vorhandene Felder anpassen. Danach müssen Sie festlegen, wo diese Felder angezeigt werden – auf den Seiten des Benutzers, im administrativen Bereich oder auf anderen Seiten der Website.
Sie können benutzerdefinierte Felder mit einer speziellen Funktion - GetUserFields - in Bitrix ausgeben. Diese Funktion gibt ein Array mit allen benutzerdefinierten Feldwerten für einen bestimmten Benutzer oder ein bestimmtes Infoblockelement zurück.
Zunächst müssen Sie bestimmen, zu welcher Entität ein benutzerdefiniertes Feld gehört - ein Benutzer oder ein Infoblockelement. Wenn das benutzerdefinierte Feld dem Benutzer gehört, verwenden Sie die Funktion CUser::GetUserFields . Wenn das benutzerdefinierte Feld zu einem Infoblock-Element gehört, verwenden Sie die Funktion CIBlockElement::GetFields .
Als nächstes müssen Sie die ID des Benutzers oder des Infoblockelements angeben, für das wir benutzerdefinierte Felder ausgeben möchten. Normalerweise wird dieser Wert durch ein zweites Argument an die Funktion GetUserFields oder GetFields übergeben.
Sie können die foreach-Schleife verwenden, um alle benutzerdefinierten Felder auszugeben. Für jedes benutzerdefinierte Feld erhalten wir seinen Namen und seine Bedeutung.
// Если пользовательское поле принадлежит пользователю$fields = CUser::GetUserFields($entityId, $userId);foreach ($fields as $fieldKey => $fieldValue) : ";>// Если пользовательское поле принадлежит элементу инфоблока$fields = CIBlockElement::GetFields($elementId);foreach ($fields as $fieldKey => $fieldValue) : ";>
Daher können Sie mit den Funktionen GetUserFields und GetFields alle benutzerdefinierten Felder einfach in Bitrix ausgeben. Sie können das Styling und die Formatierung nach Belieben hinzufügen.
Benutzerdefinierte Felder verstehen
Im Bitrix-System sind benutzerdefinierte Felder zusätzliche Felder, die Sie Entitäten wie Benutzern, Waren, Bestellungen usw. hinzufügen können. Diese Felder dienen zum Speichern zusätzlicher Informationen über eine Entität und können zum Anpassen der Anzeige von Daten auf einer Website verwendet werden.
Benutzerdefinierte Feldfunktionen umfassen Folgendes:
- Fügt der Entität zusätzliche Informationen hinzu, die von den Standardfeldern nicht bereitgestellt werden.
- Legt fest, ob zusätzliche Informationen mithilfe von Vorlagen angezeigt werden.
- Filtern und Sortieren von Daten nach benutzerdefinierten Feldwerten.
Zur Konfiguration benutzerdefinierter Felder steht eine Bitrix-Admin-Oberfläche zur Verfügung, mit der Sie benutzerdefinierte Felder erstellen, bearbeiten und löschen können. Sie können auch die Logik für die Arbeit mit diesen Feldern im Site-Code oder in Komponenten festlegen.
Benutzerdefinierte Felder in Bitrix können folgende Typen haben:
| Feldtyp | Die Beschreibung |
| Zeile | Texteingabefeld |
| Zahl | Zahlenfeld |
| Liste | Auswahlfeld aus einer angegebenen Werteliste |
| Datei | Feld zum Hochladen von Dateien |
| Fähnchen | Feld für die Markierung mit einem Kontrollkästchen |
Durch die Verwendung benutzerdefinierter Felder in Bitrix können Sie die Funktionalität der Website flexibel anpassen und ergänzen und gleichzeitig die Benutzerfreundlichkeit und Verwaltung der Daten beibehalten.
Anpassen benutzerdefinierter Felder
- Öffnen Sie im Bitrix-Administrationsbereich den Bereich "Benutzer", und wählen Sie "Benutzerdefinierte Felder" aus.
- Klicken Sie auf die Schaltfläche "Feld hinzufügen" und wählen Sie den Feldtyp aus: Textfeld, Liste, Kontrollkästchen usw.
- Füllen Sie die erforderlichen Felder aus: Feldname, Feldcode, Werttyp usw.
- Konfigurieren Sie bei Bedarf Validierungsregeln und zusätzliche Feldparameter.
- Speichern Sie die Änderungen, und das Feld wird der Liste der benutzerdefinierten Felder hinzugefügt.
Um benutzerdefinierte Felder auf der Benutzerseite oder im Verwaltungsbereich anzuzeigen, können Sie die Bitrix-Funktionen verwenden oder Ihren eigenen Code schreiben. Sie können beispielsweise den folgenden Code für benutzerdefinierte Felder verwenden:
Mit diesen Anweisungen können Sie die benutzerdefinierten Bitrix-Felder einfach anpassen und im gewünschten Format anzeigen.
Anzeigen benutzerdefinierter Felder auf einer Website
Mit benutzerdefinierten Feldern in der Bitrix können Sie dem Benutzerprofil zusätzliche Daten hinzufügen. Sie können beispielsweise dazu verwendet werden, zusätzliche Informationen auf einer Website anzuzeigen, den Zugriff auf bestimmte Bereiche zu steuern oder zusätzliche Daten bei der Registrierung von Benutzern zu sammeln.
Um alle benutzerdefinierten Felder auf einer Website anzuzeigen, müssen Sie die CUser-Funktion verwenden::getById , um Benutzerdaten abzurufen, und verwenden Sie dann CUserTypeEntity::GetList, um eine Liste von benutzerdefinierten Feldern und deren Werten abzurufen.
$userId = $USER->GetID();$userFields = CUser::GetByID($userId)->Fetch();$userEntity = CUserTypeEntity::GetList(array(), array("ENTITY_ID" => "USER", "LANG" => LANGUAGE_ID));while ($userField = $userEntity->GetNext()) : ";>
Für eine komplexere Anzeige von benutzerdefinierten Feldern wie Fotos oder Dateien sind möglicherweise zusätzliche Datenmanipulationen erforderlich. Im folgenden Beispiel können Sie jedoch alle benutzerdefinierten Felder auf Ihrer Website anzeigen und ihre Anzeige an Ihre Bedürfnisse anpassen.
Um alle benutzerdefinierten Felder auszugeben, müssen Sie eine Foreach-Schleife verwenden, um alle Felder und ihre Werte zu durchlaufen:
Fetch())foreach($userFields as $fieldName => $fieldInfo)" . $fieldInfo["EDIT_FORM_LABEL"] . ": " . $GLOBALS["USER_FIELD_MANAGER"]->GetUserFieldValue($fieldInfo, 0) . "";>?>
Sie können auch festlegen, dass jedes Feld einzeln angezeigt wird, indem Sie dessen Code und Wert angeben:
GetUserFieldValue($fieldInfo, 0);if($fieldInfo["USER_TYPE"]["USER_TYPE_ID"] == "string")" . $fieldInfo["EDIT_FORM_LABEL"] . ": " . htmlspecialcharsbx($fieldValue) . "";>else if($fieldInfo["USER_TYPE"]["USER_TYPE_ID"] == "enumeration")" . $fieldInfo["EDIT_FORM_LABEL"] . ": " . $enumValue["VALUE"] . "";>else" . $fieldInfo["EDIT_FORM_LABEL"] . ": " . $fieldValue . "";>?>
array($fieldName)));while($arUser = $rsUsers->Fetch())" . $arUser["ID"] . ": " . $arUser[$fieldName] . "";>?>
Erweiterte Einstellungen für die Anzeige benutzerdefinierter Felder
In Bitrix können Sie die Anzeige benutzerdefinierter Felder mit erweiterten Einstellungen anpassen. Auf diese Weise können Sie die Anzeige von Daten flexibel anpassen, bestimmte Felder ausblenden oder anzeigen, abhängig von den Bedingungen.
Gehen Sie zunächst zum Bitrix-Administrationsbereich und öffnen Sie eine Liste der benutzerdefinierten Felder, deren Einstellungen Sie ändern möchten. Wählen Sie in der Liste das gewünschte Feld aus und klicken Sie auf den Link «Anpassen».
Im geöffneten Einstellungsfenster sehen Sie eine Reihe von Optionen, mit denen Sie die Anzeige des Feldes anpassen können. Sie können beispielsweise auswählen, dass ein Feld nur für eine bestimmte Benutzergruppe angezeigt wird oder dass es nur unter bestimmten Bedingungen angezeigt wird.
Sie können auch festlegen, welcher Wert standardmäßig angezeigt wird, wenn das Feld nicht ausgefüllt ist. Dazu müssen Sie das entsprechende Element in den Feldeinstellungen auswählen.
Wenn Sie ein Feld vor einem Benutzer ausblenden möchten, können Sie den Status «ausgeblendet» festlegen. In diesem Fall wird das Feld nicht auf der Profilbearbeitungsseite oder im Verwaltungsbereich angezeigt.
Neben den grundlegenden Anzeigeeinstellungen können Sie auch zusätzliche Feldeinstellungen konfigurieren. Sie können beispielsweise die maximale Länge eines Textfelds festlegen oder ein Muster angeben, um zu überprüfen, ob die Daten korrekt sind.
Nachdem Sie alle erforderlichen Einstellungen vorgenommen haben, vergessen Sie nicht, die Änderungen zu speichern. Danach wird das ausgewählte Feld entsprechend den gewählten Einstellungen auf der Seite des betreffenden Benutzers angezeigt.
Die erweiterten Einstellungen für die Anzeige benutzerdefinierter Felder in Bitrix ermöglichen daher eine flexible Anpassung der Datenanzeige und ermöglichen die Benutzerfreundlichkeit der Website für Ihre Benutzer.
| Optionen | Die Beschreibung |
|---|---|
| Benutzergruppe | Legt fest, ob ein Feld für eine bestimmte Benutzergruppe angezeigt wird. |
| Bedingungen | Passen Sie die Anzeige des Feldes an, abhängig von bestimmten Bedingungen. |
| Standardwert | Legt den Wert fest, der angezeigt wird, wenn das Feld leer ist. |
| Status | Blendet das Feld vor dem Benutzer aus. |
| Erweiterte Optionen | Legt zusätzliche Feldparameter fest, z. B. die maximale Länge oder das Muster für die Validierung von Daten. |