hallo in die runde,
gibt es denn ein möglichkeit, abgeschlossene bestellungen im backend zu archivieren?
gern auch fix. evtl. per dca-config?
danke für eine info.
lg.
alex
hallo in die runde,
gibt es denn ein möglichkeit, abgeschlossene bestellungen im backend zu archivieren?
gern auch fix. evtl. per dca-config?
danke für eine info.
lg.
alex
Du könntest folgendes machen:
- Füge im DCA der Bestellungen eine neue Checkbox namens archived hinzu (+ Übersetzung etc.).
- Setze bei diesem Feld im DCA filter auf true.
- Erweitere die Palette um dieses Feld.
- Nun kann man bei den Bestellungen diese auf "Archiviert" setzen.
- Da du dieses Feld auch filtern kannst, kannst du den Filter Archiviert auf nein setzen. Somit siehst du nur mehr die nicht archivierten Bestellungen.
- Da die Filter Optionen pro Tabelle und Benutzer gespeichert werden, bleibt diese Einstellung erhalten und du musst sie nicht jedes mal neu setzen.
hallo spooky,
danke für den workaround, ich werde das mal so probieren. evtl. muss ich nochmal das eine oder andere fragen
lg.
alex
eine frage noch,
ich würe das gern über eine kleine erweiterung machen. dort kann ich in der order-liste
und im orderdetail die jeweiligen felder hinzufügen. ich habe nur eine frage zur config.php,
welcher eintrag muss dort rein, damit von der dca-datei aus meiner erweiterung die änderungen auch angezeigt werden?
In der config.php gar nicht - die DCA Änderungen gehören in die jeweilige Datei im dca Ordner deiner Erweiterung.
okay. das heißt, ich lege in den folder dca meiner erweiterung eine datei namens:
tl_iso_product_collection.php
und wenn ich dort zb. ein neues feld einfüge, wird das ohne config.php in meinen order-details angezeigt?
lg.
In die config.php kommen Hooks, Modul Definitionen etc.
Änderungen am DCA (Felder, Paletten, etc.) sind immer in den jeweiligen DCA Dateien.
schau mal hier, autoload-daten habe ich angelegt/neu angelegt.
ich habe mal versucht, einen neuen link neben mehrere bearbeiten anzulegen,
in der config.php steht nix. in der tl_iso_product_collection.php steht folgendes:
es erscheint aber kein weiterer punkt...PHP-Code:
$GLOBALS['TL_DCA']['tl_iso_product_collection']['list']['global_operations']['csvExport'] = array
(
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
'href' => 'act=select',
'class' => 'header_edit_all',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
);
Nein, so werden keine Felder angelegt. Die sind im Bereich "fields". Sieh dir zuerst das bestehende DCA an (oder auch andere DCAs des Cores) um sie verstehen zu lernen.
ja. das war nur ein beispiel für einen link über der besetellliste.
ich habe nun mal ein feld in die dca eingefügt, passiert aber auch nix...
PHP-Code:
$GLOBALS['TL_DCA']['tl_iso_product_collection']['fields']['archived'] = array
(
'label' => 'archived',
'exclude' => true,
'filter' => true,
'inputType' => 'checkbox',
'eval' => array('doNotCopy'=>true, 'tl_class'=>'clr'),
'sql' => "char(1) NOT NULL default ''",
);
Das fügt das Feld im DCA hinzu - aber nicht in die Palette zum editieren.
genau. es passiert aber nichts.
es wird also kein neues feld in der datenbank angelegt. (install.php / datenbank aktualisieren)
müsste ich nicht doch in der config meine extension registrieren lassen oder soll das wirklich alles
so automatisch passieren?
lg.
ja. der cache ist aus und leer:
Code:Internen Cache leeren system/cache/config: 0 Datei(en) system/cache/dca: 0 Datei(en) system/cache/language: 0 Datei(en) system/cache/sql: 0 Datei(en)
Poste den gesamten DCA Code.
PHP-Code:
<?php
/**
* Table tl_iso_product_collection
*/
$GLOBALS['TL_DCA']['tl_iso_product_collection']['fields']['archived'] = array
(
'label' => 'archived',
'exclude' => true,
'filter' => true,
'inputType' => 'checkbox',
'eval' => array('doNotCopy'=>true, 'tl_class'=>'clr'),
'sql' => "char(1) NOT NULL default ''",
);
Du hast das Feld nicht zu einer Palette hinzugefügt. Allerdings sollte für das Feld zumindest ein Datenbankfeld angelegt werden.
hmmmm. so dachte ich das auch... dass die spalte hinzugefügt wird.
autoload.ini
dann wird die neue spalte angelegt...Code:requires[] = "core" requires[] = "*_autoload" requires[] = "isotope" requires[] = "haste"
Ja stimmt, daran hatte ich nicht gedacht. Im genauen brauchst du nurCode:requires[] = "isotope"
moin spooky,
wenn es läuft, ist es sehr überschaubar und macht sogar spaß. ich danke dir noch mal.
eine frage noch:
ich habe solch einen code in der erweiterung, damit füge ich neben "mehrere bearbeiten" einen neuen link ein, bekomme ich den link auch so, dass er auf eine seite verlinkt und ein neues fenster öffnet?PHP-Code:
$GLOBALS['TL_DCA']['tl_iso_product_collection']['list']['global_operations']['neu'] = array
(
'label' => 'klick mich',
'href' => 'https://',
'class' => 'header_edit_neu',
'attributes' => 'onclick="Backend.getScrollOffset();"'
);
lg.
alex
Du könntest das über JavasScript (onclick) machen.
hmmm. habs mal probiert,
funktioniert nicht. wie sollte denn der javascript-link in href aussehen?
lg. alex
Nicht im href - über das onclick Event meinte ich - so wie es du schon bereits drin hast.
also href ganz raus.
welches onclick-event kann ich da nehmen? ich bekomme es so nicht hin.
Nein, href nicht raus . Es gibt nur ein onclick Event... das onclick Event . Und dort könntest du folgendes machen https://stackoverflow.com/a/5141926/374996 (nur mit this.href).
danke dir. aber das klappt nicht ;.(
PHP-Code:
$GLOBALS['TL_DCA']['tl_iso_product_collection']['list']['global_operations']['neu'] = array
(
'label' => 'klick mich',
'href' => 'onclick="javascript:location.href="http://"',
'class' => 'header_edit_neu',
'attributes' => "onclick='window.open('https://','_blank');"
);
Bei href solltest du nur den tatsächlichen link Eintragen. Und bei attributes bspw. "onclick='window.open(this.href,'_blank'); return false;"
so. nun habe ich es...
href wird nicht benötigt...PHP-Code:
$GLOBALS['TL_DCA']['tl_iso_product_collection']['list']['global_operations']['neu'] = array
(
'label' => 'klick mich',
//'href' => 'https://www..de',
'class' => 'header_edit_neu',
'attributes' => "onclick=window.open('https://www.de','_blank'); return false;"
);
Warum nicht gleich:
PHP-Code:
[
// ...
'href' => 'https://example.org',
'attributes' => 'target="_blank"'
];
dieser code funktioniert nicht. habs eben ausprobiert.
PHP-Code:
$GLOBALS['TL_DCA']['tl_iso_product_collection']['list']['global_operations']['neu'] = array
(
'label' => 'klick mich',
'href' => 'https://www.example.de',
'class' => 'header_edit_neu',
'attributes' => 'target="_blank"'
);
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen