Add new fields for rental details and update localization; enhance layout for better visibility
This commit is contained in:
89
README.md
89
README.md
@@ -380,6 +380,16 @@ sudo find custom/ -type d -exec chmod 775 {} \;
|
||||
- [ ] Formula in `formula/`, **NICHT** in `entityDefs/`
|
||||
- [ ] Nach Erstellung: `./custom/scripts/check_and_rebuild.sh`
|
||||
|
||||
**Bei Hinzufügen neuer Felder:**
|
||||
- [ ] Felder in entityDefs definieren mit korrektem Typ und Optionen
|
||||
- [ ] Felder zu relevanten Layouts hinzufügen (detail.json, list.json, etc.)
|
||||
- [ ] Felder sinnvoll gruppieren (eigenes Panel oder bestehendes Panel)
|
||||
- [ ] Labels in i18n/**de_DE** vollständig (fields UND links)
|
||||
- [ ] Labels in i18n/**en_US** vollständig (Fallback-Sprache!)
|
||||
- [ ] Tooltips in i18n hinzufügen falls erforderlich
|
||||
- [ ] Nach Änderung: `./custom/scripts/check_and_rebuild.sh`
|
||||
- [ ] Browser Hard Refresh (Ctrl+Shift+R) durchführen
|
||||
|
||||
**Bei Layout-Änderungen:**
|
||||
- [ ] Keine `false` oder leere Objekte in Rows
|
||||
- [ ] Width nur in List-Layouts verwenden
|
||||
@@ -511,6 +521,85 @@ Bei hasMany-Relationships müssen **BEIDE Seiten** definiert werden:
|
||||
- `foreign` zeigt auf den Link-Namen der **Gegenseite**
|
||||
- Fehlt eine Seite → **"404 Link does not exist"-Fehler**
|
||||
|
||||
**Vollständiger Prozess beim Hinzufügen neuer Felder:**
|
||||
|
||||
Neue Felder in einer Entity erfordern Änderungen in **drei Bereichen**:
|
||||
|
||||
1. **entityDefs/{Entity}.json** - Feld-Definition
|
||||
2. **layouts/{Entity}/*.json** - Sichtbarkeit in UI
|
||||
3. **i18n/{Sprache}/{Entity}.json** - Beschriftungen
|
||||
|
||||
**Schritt-für-Schritt-Anleitung:**
|
||||
|
||||
**1. Feld in entityDefs definieren:**
|
||||
```json
|
||||
// custom/Espo/Custom/Resources/metadata/entityDefs/CVmhMietverhltnis.json
|
||||
{
|
||||
"fields": {
|
||||
"kaltmiete": {
|
||||
"type": "currency",
|
||||
"required": true,
|
||||
"onlyDefaultCurrency": true,
|
||||
"min": 1,
|
||||
"decimal": true,
|
||||
"tooltip": true,
|
||||
"isCustom": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**2. Feld zu Layouts hinzufügen:**
|
||||
```json
|
||||
// custom/Espo/Custom/Resources/layouts/CVmhMietverhltnis/detail.json
|
||||
[
|
||||
{
|
||||
"rows": [
|
||||
[
|
||||
{"name": "kaltmiete"},
|
||||
{"name": "warmmiete"}
|
||||
]
|
||||
],
|
||||
"customLabel": "Miethöhe",
|
||||
"noteText": "Erfassen Sie die Miethöhe in ihren einzelnen Bestandteilen",
|
||||
"noteStyle": "info"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
**3. Labels in ALLEN Sprachen definieren:**
|
||||
```json
|
||||
// custom/Espo/Custom/Resources/i18n/de_DE/CVmhMietverhltnis.json
|
||||
{
|
||||
"fields": {
|
||||
"kaltmiete": "Kaltmiete"
|
||||
},
|
||||
"tooltips": {
|
||||
"kaltmiete": "Monatliche Kaltmiete ohne Betriebskosten"
|
||||
}
|
||||
}
|
||||
|
||||
// custom/Espo/Custom/Resources/i18n/en_US/CVmhMietverhltnis.json
|
||||
{
|
||||
"fields": {
|
||||
"kaltmiete": "Base Rent"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Wichtig:**
|
||||
- ✅ **IMMER** de_DE UND en_US pflegen (en_US ist Fallback!)
|
||||
- ✅ Tooltips nur wenn `"tooltip": true` im entityDef gesetzt
|
||||
- ✅ Bei Link-Feldern Labels in `fields` UND `links` definieren
|
||||
- ✅ Nach Änderungen: `./custom/scripts/check_and_rebuild.sh`
|
||||
|
||||
**Typische Layout-Typen:**
|
||||
- `detail.json` - Detail-Ansicht (Panels mit Rows)
|
||||
- `list.json` - Listen-Ansicht (Spalten mit Width)
|
||||
- `listSmall.json` - Kompakte Listen-Ansicht
|
||||
- `detailSmall.json` - Seitenleisten-Ansicht
|
||||
- `filters.json` - Filter-Felder
|
||||
|
||||
### clientDefs/{EntityType}.json
|
||||
|
||||
**Format-Beispiel:**
|
||||
|
||||
Reference in New Issue
Block a user