getFields() public method

A getter to access the fields manager.
public getFields ( ) : Manager
return Bolt\Storage\Field\Manager
Ejemplo n.º 1
0
 /**
  * Build the schema for Bolt ContentType tables.
  *
  * @param Schema $schema
  * @param Config $config
  *
  * @return \Doctrine\DBAL\Schema\Table[]
  */
 public function getSchemaTables(Schema $schema, Config $config)
 {
     /** @var $fieldManager FieldManager */
     $fieldManager = $config->getFields();
     $contentTypes = $config->get('contenttypes');
     $tables = [];
     foreach ($this->tables->keys() as $name) {
         $contentType = $contentTypes[$name];
         $tables[$name] = $this->tables[$name]->buildTable($schema, $this->prefix . $name, $name);
         if (isset($contentType['fields']) && is_array($contentType['fields'])) {
             $this->addContentTypeTableColumns($this->tables[$name], $tables[$name], $contentType['fields'], $fieldManager);
         }
     }
     return $tables;
 }
Ejemplo n.º 2
0
 /**
  * Build the schema for Bolt ContentType tables.
  *
  * @param Schema $schema
  * @param Config $config
  *
  * @return \Doctrine\DBAL\Schema\Table[]
  */
 public function getSchemaTables(Schema $schema, Config $config)
 {
     if ($this->tableSchemas !== null) {
         return $this->tableSchemas;
     }
     /** @var $fieldManager FieldManager */
     $fieldManager = $config->getFields();
     $contentTypes = $this->getNormalisedContentTypes($config);
     $tables = [];
     foreach ($this->tables->keys() as $name) {
         $contentType = $contentTypes[$name];
         /** @var ContentType $table */
         $table = $this->tables[$name];
         $tables[$name] = $table->buildTable($schema, $name, $this->charset, $this->collate);
         if (isset($contentType['fields']) && is_array($contentType['fields'])) {
             $this->addContentTypeTableColumns($this->tables[$name], $tables[$name], $contentType['fields'], $fieldManager);
         }
     }
     return $this->tableSchemas = $tables;
 }
Ejemplo n.º 3
0
 /**
  * Shorthand to add a field to both the new and legacy managers.
  *
  * @param $name
  * @param $handler
  */
 public function addFieldType($name, $handler)
 {
     $this->setHandler($name, $handler);
     $this->customHandlers[] = $name;
     $this->boltConfig->getFields()->addField($handler);
 }