Seite 1 von 1

kfBasic

Verfasst: Fr 31. Okt 2014, 11:20
von shadowcat
Dieser Beitrag dient vorübergehend der Dokumentation von Änderungen.

Re: kfBasic

Verfasst: Fr 31. Okt 2014, 11:24
von shadowcat
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.