netlogix/assetmetadata

There is no license information available for the latest version (2.1.0) of this package.

Attach metadata objects to Neos Assets

Installs: 2 062

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 5

Forks: 0

Open Issues: 0

Type:neos-package

2.1.0 2023-01-31 09:00 UTC

This package is auto-updated.

Last update: 2024-12-20 13:30:51 UTC


README

This package allows you to attach multiple metadata objects to an asset.

Assets are automatically given the Netlogix\AssetMetadata\Domain\Model\AssetMetadataAwareInterface using an Aspect, so you can simply call $asset->getMetadata('myMetadata').

Configuration / Usage

  1. Create a new Model with your desired properties that extends Netlogix\AssetMetadata\Domain\Model\AssetMetadata
  2. Configure the metadata:
Netlogix:
  AssetMetadata:
    metadata:
      'mymetadata':
        label: 'My Metadata'
        # Class that implements this Metadata. Must extend AssetMetadata
        className: 'My\Metadata\Domain\Model\MyMetadata'
        # Partial root path that contains the edit partial
        editPartialRootPath: 'resource://My.Metadata/Private/Partials'
        # Partial File to render in Asset Edit View
        # Path must be Package/Resources/Private/Partials/AssetMetadata/<editPartialName>.html
        editPartialName: 'MyMetadata'
        # Neos AssetSource identifiers to which this Metadata configuration should apply
        # If this is unset, the Metadata will be applied to all AssetSources
        assetSources: ['neos', 'my-special-asset-source']
        # Optional position for ordering in the Edit View of an Asset
        position: 'start'
  1. Create the edit partial:
<label for="mymetadata-fieldA">Field A</label>
<f:form.textfield property="{metadataPropertyPath}.fieldA" id="mymetadata-fieldA" placeholder="Foo" type="text"/>
  1. Set the metadata $asset->setMetadata('mymetadata', new MyMetadata('mymetadata', $asset))
  2. Get the metadata $asset->getMetadata('mymetadata')