primoz2500/hasoneautocompletefield

用于通过自动完成添加 has_one 关系的 CMS 表单字段

2.11.4 2022-05-10 22:45 UTC

This package is auto-updated.

Last update: 2024-09-11 04:07:59 UTC


README

概述

本模块添加了一个字段,用于使用自动完成下拉菜单分配 has_one 关系。其样式与 URLSegment 字段相似。

FORK CHANGES: 添加了对函数作为结果列表标题的支持(字段可通过 get{FieldName} 函数以函数名访问)

维护者联系方式

需求

  • SilverStripe 4.0+

对于 SilverStripe 3.x,请查看 Github 上的 1 分支:https://github.com/nathancox/silverstripe-hasoneautocompletefield/tree/1

安装说明

通过 composer

composer require primoz2500/hasoneautocompletefield

或手动下载模块并将其放置在网站根目录下的 hasoneautocompletefield 文件夹中。

访问 yoursite.com/dev/build?flush=1

文档

示例代码

<?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'));
        $pageField->enableClearButton();

        return $fields;
    }
}

已知问题

问题跟踪器