Quick and easy method of identifying anchors in DBHTMLText and DBHTMLVarchar fields
Quick and easy method of identifying anchors in DBHTMLText and DBHTMLVarchar fields.
composer require fromholdio/silverstripe-dbhtmlanchors
Upon install, the
DBHTMLAnchorsExtension is automatically applied to
This adds a
getAnchors() accessor to each of these DBFields.
When called on the field object, it processes any shortcodes, and then searches the html elements for
id attributes that can be used as anchor link targets.
The list of anchor values is returned as a simple array.
DBHTMLVarchar to your data object. The
Content field of
SiteTree is a common example of one that already exists.
private static $db = [ 'Content' => 'HTMLText' ];
In your code, get the field object, and call
getAnchors(). Make sure you get the field object, not the field's value.
// CORRECT $contentField = $this->dbObject('Content'); $anchors = $contentField->getAnchors(); // WRONG $contentField = $this->Content; $anchors = $contentField->getAnchors();
The value returned will be either
null for no results, or an associative array, with key and value both containing the anchor value.
// return value from ->getAnchors() [ 'sectionone' => 'sectionone', 'sectiontwo' => 'sectiontwo' ]
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem