Skip to content

Latest commit

 

History

History
70 lines (53 loc) · 1.69 KB

File metadata and controls

70 lines (53 loc) · 1.69 KB

⚠️ This is a fork ⚠️

This is a Bigfork-maintained fork of adrhumphreys/silverstripe-textdropdownfield and so may contain opinionated changes.

Text dropdown field

This lets you add field that is a combination of a dropdown and a text field

Requirements

  • PHP ^7.4 || ^8.0
  • SilverStripe ^4.0 || ^5

Installation

composer require bigfork/silverstripe-textdropdownfield

Documentation

When using this field you'll need to specify the name of the field, the title for the field, the text relation, the dropdown relation followed by the dropdown source.

An example usecase could look like this:

<?php
declare(strict_types=1);

use AdrHumphreys\TextDropdownField\TextDropdownField;
use SilverStripe\ORM\DataObject;

class Example extends DataObject
{
    /**
     * @var string[]
     */
    private static $db = [
        'TextContent' => 'Varchar(20)',
        'DropdownContent' => 'Varchar(20)',
    ];

    public function getCMSFields()
    {
        $fields = parent::getCMSFields();

        $source = [
            'p' => 'Paragraph',
            'h1' => 'Header 1',
            'h2' => 'Header 2',
        ];

        $fields->addFieldToTab(
            'Root.Main',
            TextDropdownField::create(
                'NameThatDoesntMatter',
                'Title',
                'TextContent',
                'DropdownContent',
                $source
        ));

        return $fields;
    }
}

If you want to specifically edit the dropdown or text field you can access those through getTextField and getDropdownField on the field after it's been created

Maintainers

  • Bigfork