nathancox/hasoneautocompletefield

A CMS form field for adding has_one relationships using autocomplete

Maintainers

👁 nathancox

Package info

github.com/nathancox/silverstripe-hasoneautocompletefield

Type:silverstripe-vendormodule

pkg:composer/nathancox/hasoneautocompletefield

Statistics

Installs: 195 629

Dependents: 3

Suggesters: 0

Stars: 5

Open Issues: 6

2.13.0 2024-07-11 04:11 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT c52965fd3a9301e3e2670eefcafabc1877b0f4f9

  • Nathan Cox <me.woop@nathan.net.nz>

formcmsrelationsilverstripeformfieldhas_one

This package is auto-updated.

Last update: 2026-06-11 08:02:35 UTC


README

Overview

This module adds a field for using an autocomplete dropdown to assign a has_one relationship. It's styled after the URLSegment field.

Maintainer Contacts

Requirements

  • SilverStripe 4.0+

For SilverStripe 3.x see the version 1 branch on Github: https://github.com/nathancox/silverstripe-hasoneautocompletefield/tree/1

Installation Instructions

Via composer:

composer require nathancox/hasoneautocompletefield

Or manually download the module and place it in a folder called hasoneautocompletefield in your site root.

Visit yoursite.com/dev/build

Documentation

Example code:

<?php

use SilverStripe\CMS\Model\SiteTree;
use NathanCox\HasOneAutocompleteField\Forms\HasOneAutocompleteField;

class Page extends SiteTree
{
 private static $db = [];

 private static $has_one = [
 'LinkedPage' => 'Page'
 ];

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

 $fields->addFieldToTab('Root.Content', $pageField = HasOneAutocompleteField::create('LinkedPageID', 'Linked Page', 'Page', 'Title'));
 $pageField->setSearchFields(array('Title', 'Content'));

 return $fields;
 }
}

Known Issues

Issue Tracker