abstract class AbstractCategory implements CategoryInterface, StandardSearchIndexerInterface (View source)

Abstract class to be used by attribute category classes.

Properties

protected EntityManager $entityManager

The EntityManager instance.

protected $entity
protected Application $application

The Application instance.

protected SetManagerInterface|null $setManager

The instance of the SetManagerInterface (if set).

Methods

__construct(Application $application, EntityManager $entityManager)

Initialize the instance.

EntityRepository
getAttributeKeyRepository()

Get the repository for the attribute keys.

EntityRepository
getAttributeValueRepository()

Get the repository for the attribute values.

Key
createAttributeKey()

Create a new attribute key.

getSearchIndexer()

Get the indexer instance that manages search indexing (if the attribute category supports indexing).

getList()

Get all the attribute keys.

Key[]
getSearchableList()

Get the list of attribute keys that are searchable.

Key[]
getSearchableIndexedList()

Get the list of attribute keys that are searchable and indexed.

getCacheNamespace()

No description

getAttributeKeyByHandle($handle)

Get an attribute key given its handle.

getAttributeKeyByHandleUncached($handle)

No description

getAttributeKeyByID(int $akID)

Get an attribute key given its ID.

delete()

Delete this category and all the associated attribute keys.

Key
add(Type|string $type, Key|array $key, Settings|null $settings = null, Package|null $pkg = null)

Add a new attribute key.

Key
addFromRequest(Type $type, Request $request)

Create a new attribute key starting from the data contained in a request.

Key
import(Type $type, SimpleXMLElement $element, Package $package = null)

Import a new attribute key from a SimpleXMLElement instance.

Key
updateFromRequest(Key $key, Request $request)

Update an existing attribute key with the data contained in a request.

EntityManager
getEntityManager()

No description

setEntityManager(EntityManager $entityManager)

Get the EntityManager instance.

deleteKey(Key $key)

Method called when a key is deleted. This is usually used to delete all the values associated to an attribute key.

deleteValue(AttributeValueInterface $attributeValue)

Delete an attribute value.

getRequestLoader()

Get the object to be used to update attribute keys with the data contained in a Symfony\Component\HttpFoundation\Request instance.

getImportLoader()

Get the object to be used to update attribute keys with the data contained in a SimpleXMLElement instance.

Key|null
getByID(int $akID) deprecated

No description

Key|null
getByHandle(string $akHandle) deprecated

No description

Details

__construct(Application $application, EntityManager $entityManager)

Initialize the instance.

Parameters

Application $application

the Application instance

EntityManager $entityManager

the EntityManager instance

abstract EntityRepository getAttributeKeyRepository()

Get the repository for the attribute keys.

Return Value

EntityRepository

abstract EntityRepository getAttributeValueRepository()

Get the repository for the attribute values.

Return Value

EntityRepository

abstract Key createAttributeKey()

Create a new attribute key.

Return Value

Key

SearchIndexerInterface|null getSearchIndexer()

Get the indexer instance that manages search indexing (if the attribute category supports indexing).

AttributeKeyInterface[] getList()

Get all the attribute keys.

Key[] getSearchableList()

Get the list of attribute keys that are searchable.

Return Value

Key[]

Key[] getSearchableIndexedList()

Get the list of attribute keys that are searchable and indexed.

Return Value

Key[]

getCacheNamespace()

No description

AttributeKeyInterface|null getAttributeKeyByHandle($handle)

Get an attribute key given its handle.

Parameters

$handle

Return Value

AttributeKeyInterface|null

See also

CategoryInterface::getAttributeKeyByHandle

getAttributeKeyByHandleUncached($handle)

No description

Parameters

$handle

AttributeKeyInterface|null getAttributeKeyByID(int $akID)

Get an attribute key given its ID.

Parameters

int $akID

Return Value

AttributeKeyInterface|null

See also

CategoryInterface::getAttributeKeyByID

delete()

Delete this category and all the associated attribute keys.

Key add(Type|string $type, Key|array $key, Settings|null $settings = null, Package|null $pkg = null)

Add a new attribute key.

Parameters

Type|string $type

the attribute type (or its handle)

Key|array $key

an empty attribute key, or an array with keys 'akHandle' (the attribute key handle), 'akName' (the attribute key name) and optionally 'asID' (the ID of the attribute set)

Settings|null $settings

the attribute key settings (if not specified, a new settings instance will be created)

Package|null $pkg

the entity of the package that's creating the attribute key

Return Value

Key

Key addFromRequest(Type $type, Request $request)

Create a new attribute key starting from the data contained in a request.

Parameters

Type $type

The attribute type to be created

Request $request

The request instance that contains the data

Return Value

Key

See also

CategoryInterface::addFromRequest

Key import(Type $type, SimpleXMLElement $element, Package $package = null)

Import a new attribute key from a SimpleXMLElement instance.

Parameters

Type $type

the type of the attribute key to be created

SimpleXMLElement $element

the SimpleXMLElement instance containing the data of the attribute key to be created

Package $package

the entity of the package that's creating the attribute key (if applicable)

Return Value

Key

Key updateFromRequest(Key $key, Request $request)

Update an existing attribute key with the data contained in a request.

Parameters

Key $key

The attribute key to be updated

Request $request

The request instance that contains the data

Return Value

Key

See also

CategoryInterface::updateFromRequest

EntityManager getEntityManager()

No description

Return Value

EntityManager

setEntityManager(EntityManager $entityManager)

Get the EntityManager instance.

Parameters

EntityManager $entityManager

deleteKey(Key $key)

Method called when a key is deleted. This is usually used to delete all the values associated to an attribute key.

Note: this does NOT delete the source key entity. That is done simply by removing the key through Doctrine. Doctrine then calls the Concrete\Core\Attribute\Key\Listener::preRemove method, which runs this.

Parameters

Key $key

See also

CategoryInterface::deleteKey

deleteValue(AttributeValueInterface $attributeValue)

Delete an attribute value.

Parameters

AttributeValueInterface $attributeValue

See also

CategoryInterface::deleteValue

RequestLoaderInterface getRequestLoader()

Get the object to be used to update attribute keys with the data contained in a Symfony\Component\HttpFoundation\Request instance.

Return Value

RequestLoaderInterface

ImportLoaderInterface getImportLoader()

Get the object to be used to update attribute keys with the data contained in a SimpleXMLElement instance.

Return Value

ImportLoaderInterface

Key|null getByID(int $akID) deprecated

deprecated use the getAttributeKeyByID method

No description

Parameters

int $akID

Return Value

Key|null

Key|null getByHandle(string $akHandle) deprecated

deprecated use the getAttributeKeyByHandle method

No description

Parameters

string $akHandle

Return Value

Key|null