kfBasic

Archivierte Beiträge aus dem kitFramework Forum
Antworten
Benutzeravatar
shadowcat
Administrator
Beiträge: 3952
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

kfBasic

Beitrag von shadowcat » Fr 31. Okt 2014, 11:20

Dieser Beitrag dient vorübergehend der Dokumentation von Änderungen.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
shadowcat
Administrator
Beiträge: 3952
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: kfBasic

Beitrag von shadowcat » Fr 31. Okt 2014, 11:24

Neue Utility-Funktion getToolbar()

Die meisten Erweiterungen haben verschiedene Bereiche, die im Backend über Tabs (Reiter) zugänglich sind. Bisher erzeugen die einzelnen Erweiterungen ihre Toolbar selbst.

Einen etwas globaleren Ansatz bietet die neue Funktion getToolbar().

Synopsis:

Code: Alles auswählen

$this->app['utils']->getToolbar('<Aktiver Tab>','<Name der Erweiterung>',<Konfiguration>)
Die Reiter werden bereits in der config.<Erweiterung>.json (im Basisverzeichnis der Erweiterung) definiert, hier ein Beispiel aus dem MiniShop:

Code: Alles auswählen

  "nav_tabs": {
    "order": [
      "orders",
      "contact_list",
      "contact_edit",
      "article",
      "group",
      "base",
      "about"
    ],
    "default": "orders"
  },
Um daraus die Toolbar erzeugen zu können, fehlen folgende Informationen:
  • Die Beschriftung ('text')
  • Die aufzurufende URL ('link')
  • Ein Hinweistext ('hint')
Diese können jetzt über den neuen Schlüssel "options" hinterlegt werden (Beispiel):

Code: Alles auswählen

  "nav_tabs": {
    "order": [
      "orders",
      "contact_list",
      "contact_edit",
      "article",
      "group",
      "base",
      "about"
    ],
    "default": "orders",
    "options": {
      "about": {
        "text": "About",
        "link": "/admin/minishop/about",
        "hint": "Information about the miniShop extension"
      }
    }
  },
Fehlen die Optionen, werden folgende Defaults verwendet:

Code: Alles auswählen

$toolbar[$tab] = array(
    'name'   => $tab,
    'text'   => $this->app['translator']->trans($tab),
    'hint'   => $this->app['translator']->trans('No hint available'),
    'link'   => FRAMEWORK_URL.'/admin/'.$extension.'/'.$tab,
    'active' => ($active == $tab)
);
$tab ist hierbei der Tabname aus dem "nav_tabs" Array. $extension wird der Funktion beim Aufruf übergeben. Die jeweiligen Defaults werden auch verwendet, wenn das "options"-Array vorhanden ist, der jeweilige Schlüssel aber nicht. Das heißt, alle zusätzlichen Einstellungen sind optional.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Antworten