Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anleitung:web:web_server:dolibarr:verwenden_von_extra_feldern [05.11.2015 09:58] – Seite von anleitung:web:web_server:verwenden_von_extra_feldern nach anleitung:web:web_server:dolibarr:verwenden_von_extra_feldern verschoben J. Huberanleitung:web:web_server:dolibarr:verwenden_von_extra_feldern [09.11.2015 07:39] (aktuell) – [$type] J. Huber
Zeile 16: Zeile 16:
  
 ====== Verwenden von Extra Feldern ====== ====== Verwenden von Extra Feldern ======
 +===== Hinzufügen von Extrafeldern (PHP) =====
 +<code php>
 +int function addExtraField(
 + string $attrname          // Code of attribute
 + string $label              // label of attribute
 + string $type              // Type of attribute ('int', 'text', 'varchar', 'date', 'datehour','link')
 + int $pos                // Position of attribute
 + string $size              // Size/length of attribute
 + string $elementtype    // Element type ('member', 'product', 'thirdparty', 'commande_fournisseur', ...)
 + int $unique = 0 // Is field unique or not
 + int $required = 0 // Is field required or not
 + string $default_value = '' // Defaulted value
 + array $param = 0 // Params for field e.g. array('options'=>array('Lieferung:jheExtension/efc/lieferung.class.php'=>NULL));
 + int $alwayseditable = 0 // Is attribute always editable regardless of the document status
 + string $perms = '' // Permission to check
 + int $list = 0 // Into list view by default (not used yet)
 +); // returns int <=0 if KO, >0 if OK
  
-<code +$extrafieldObj = new ExtraFields($this->db); 
- Code+ 
 +$extrafieldObj->addExtraField( ... ); 
 + 
 +$extrafieldObj->delete( $attrname, $elementtype );
 </code> </code>
 +==== $type ====
 +Mögliche Werte:
 +  'separate', 'boolean', 'int', 'varchar', 'price', 'phone', 'mail', 'select', 'sellist', 'radio', 'checkbox', 'chkbxlst', 'text', 'link'
 +
 +==== $elementtype ====
 +Mögliche Werte:
 + Ergibt sich aus dem Datenbank-Tabellen-Namen.
 + z.B. für Bestellungen von Lieferanten: 'commande_fournisseur'
 +
 +===== Linked Object =====
 +
 +In ''//Wert//'' ist folgendes einzutragen:
 +
 +   <ClassName>:<Pfad zu Klassen-Datei relativ zu DOL_DOCUMENT_ROOT>
 +
 +Minimales Grundgerüst einer verwendbaren Objekt-Klasse:
 +<code php>
 +
 +class <ClassName> extends CommonObject {
 + var $db;
 + var $id;  /* wird in der Datenbank abgespeichert und aufgrund $id wird $ref ermittelt */
 + var $ref; /* Wird im Eingabefeld als Wert angezeigt */
 +
 + /**
 + * Constructor
 + * @param DoliDB $db Database handler
 + */
 + function __construct($db) {
 + $this->db = $db;
 + }
 +
 + /**
 + * Füllt Object mit Werten
 +
 + * @param int    $rowid
 + * @param string $ref  
 + */
 + function fetch($rowid, $ref='') {
 + $this->id  = ... /* muss belegt werden  */
 + $this->ref = ... /* muss belegt werden - Wird im Eingabefeld als vorbelegter Wert angezeigt */
 + }
 +
 + /**
 + * Gibt anzuzeigenden String zurück
 + *
 + * @param int $withpicto 0=_No picto, 1=Includes the picto in the linkn, 2=Picto only
 + *
 + * @return string String der angezeigt wird
 + */
 + function getNomUrl($withpicto=0) {
 + return "<string>";
 + }
 +}
 +</code>
 +
 +<WRAP round alert 60%>
 +Wird das Extrafield bearbeitet wird die Klassen-Information gelöscht. (Dolibarr Version 3.8.1)
 +Daher muss das Feld immer erst gelöscht und neu angelegt werden.
 +</WRAP>
 +
 +<WRAP round important 60%>
 +$id, d.h. der Wert der in der Datenbank abgelegt wird muss vom Typ ''//**int**//'' sein. 
 +
 +Beim Speichern von anderen Extra-Feldern werden alle Extra-Felder aktualisiert und ein schon gespeicherter Wert
 +wird der ''fetch''-Methode als Parameter ''$ref'' übergeben.
 +
 +(Dolibarr Version 3.8.1)
 +</WRAP>
 +
  
 {{tag>web  dolibarr}} {{tag>web  dolibarr}}
 ---- struct data ---- ---- struct data ----
 +artikelinfo.name     : 
 +artikelinfo.beschreibung : 
 +artikelinfo.status   : 
 +artikelinfo.statuslink : 
 +artikelinfo.version 
 +artikelinfo.cats     : 
 +artikelinfo.catlinks : 
 +artikelinfo.prg      : 
 ---- ----