alle Content Types mit einer Art von Feld rausfiltern
Eingetragen von geoport (101)
am 18.07.2016 - 06:43 Uhr in
am 18.07.2016 - 06:43 Uhr in
Hallo Forum,
ich versuche gerade alle Content Types mit einer bestimmten Art Feld (in meinem Fall "geofield") herauszubekommen. Das habe ich wie folgt umgesetzt, eventuell gibt es da aber deutlich einfachere Wege:
namespace Drupal\drupal8ogc_wfs\Controller;
use Drupal\Core\Controller\ControllerBase;
class DescripeFeatureType extends ControllerBase
{
public static function descripefeaturetype($request) //$request wird im weiteren Verlauf benötigt
{
$contentTypes = \Drupal::service('entity.manager')->getStorage('node_type')->loadMultiple();
$layerList = [];
foreach ($contentTypes as $contentType)
{
$definitions = \Drupal::service('entity_field.manager')->getFieldDefinitions('node', $contentType->id());
foreach($definitions as $definition)
{
if($definition->getType() === 'geofield')
{
echo $contentType->id().'<br>'; //im XML dann name
echo $contentType->label().'<br>'; //im XML dann Title
//echo $contentType->description().'<br>'; //im XML dann Abstract
array_push($layerList,$contentType->id());
}
}
}
var_dump($layerList);
}
}
vielen Dank fürs drüber schauen.
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn Du das nur anschauen
am 18.07.2016 - 08:43 Uhr
Wenn Du das nur anschauen willst, dann gibts eigentlich auch schon die Feldliste unter /admin/reports/fields
lg leda
"Du liebst es, Du brauchst es oder Du gibst es weg"
www.leda.ch
Heho, vielen Dank. Nein, ich
am 18.07.2016 - 09:53 Uhr
Heho, vielen Dank. Nein, ich benötige das für ein eigenes Modul. Kann ich eventuell vom Feldtyp her an die Content Typs kommen?
mfg
Tim
www.geoportal.de
Die Liste vom Report kommt
am 18.07.2016 - 10:24 Uhr
Die Liste vom Report kommt aus der Function function field_ui_fields_list() in der Datei \modules\field_ui\field_ui.admin.inc.
Vermutlich sind hier die Elemente beisammen, die Du für Dein Modul benötigst. Bau doch mal die Funktion ohne den Output-Teil unter anderem Namen in Dein
Modul ein, dann kannst Du beim Aufruf die Variablen inspizieren (z.B. über krumo oder dpm via Devel-Modul).
lg leda
"Du liebst es, Du brauchst es oder Du gibst es weg"
www.leda.ch
Heho, kann es sein, dass es
am 18.07.2016 - 14:25 Uhr
Heho, kann es sein, dass es diese Funktion so unter D8 nicht gibt?Jedenfalls finde ich diese nicht.
www.geoportal.de
Oh je, D8... Sorry, das habe
am 18.07.2016 - 15:40 Uhr
Oh je, D8... Sorry, das habe ich nicht beachtet. Natürlich gibts die Funktion da so nicht, nur in D7.
Die Liste in der Administration gibts aber schon auch, unter /admin/reports/fields. Da müsste man in Core suchen, wo sie zusammengebaut wird...
lg leda
"Du liebst es, Du brauchst es oder Du gibst es weg"
www.leda.ch