Wilr\SilverStripe\Algolia\Extensions\AlgoliaObjectExtension
Synopsis
class AlgoliaObjectExtension
extends DataExtension
{
- // members
- private boolean $ranSync = false;
- private static boolean $enable_indexer = true;
- private static boolean $use_queued_indexing = false;
- private static array $db = ;
- // methods
- public bool indexEnabled()
- public void updateCMSFields()
- public void updateSettingsFields()
- public void requireDefaultRecords()
- public void canIndexInAlgolia()
- public void onAfterPublish()
- public void markAsRemovedFromAlgoliaIndex()
- public void touchAlgoliaIndexedDate()
- private void updateAlgoliaFields()
- public bool indexInAlgolia()
- public bool doImmediateIndexInAlgolia()
- public void onAfterUnpublish()
- public boolean removeFromAlgolia()
- public void onBeforeWrite()
- public void assignAlgoliaUUID()
- public void onBeforeDelete()
- public void onBeforeDuplicate()
- public array getAlgoliaIndexes()
Hierarchy
Extends
- SilverStripe\ORM\DataExtension
Uses
- SilverStripe\Core\Config\Configurable
Members
private
- $db
- $enable_indexer — boolean
- $ranSync — boolean
- $use_queued_indexing — boolean
Methods
private
- updateAlgoliaFields() — Update search metadata without triggering draft state etc
public
- assignAlgoliaUUID()
- canIndexInAlgolia() — Returns whether this object should be indexed into Algolia.
- doImmediateIndexInAlgolia() — Index this record into Algolia
- getAlgoliaIndexes()
- indexEnabled()
- indexInAlgolia() — Index this record into Algolia or queue if configured to do so
- markAsRemovedFromAlgoliaIndex()
- onAfterPublish() — When publishing the page, push this data to Algolia Indexer. The data which is sent to Algolia is the rendered template from the front end.
- onAfterUnpublish() — When unpublishing this item, remove from Algolia
- onBeforeDelete() — Before deleting this record ensure that it is removed from Algolia.
- onBeforeDuplicate() — Ensure each record has unique UUID
- onBeforeWrite()
- removeFromAlgolia() — Remove this item from Algolia
- requireDefaultRecords() — On dev/build ensure that the indexer settings are up to date.
- touchAlgoliaIndexedDate() — Update the AlgoliaIndexed date for this object.
- updateCMSFields()
- updateSettingsFields()