SilverStripe 链接字段

2.1.0.2 2018-09-27 14:38 UTC

This package is auto-updated.

Last update: 2024-09-14 22:41:38 UTC


README

与重定向器页面 URL/页面字段类似,提供创建内部或外部链接的界面。内部链接提供一个 TreeDropdownField 以在网站树中选择页面。外部提供一个文本字段以输入完整的 URL。还提供在新标签页中打开的选项

要求

Silverstripe 4+

安装

composer require iqnection-modules/linkfield

用法

在你的 DataObject 类中,使用 DB 字段 "Link"

private static $db = array(
	'LinkedPage' => 'Link'
);

在你的表单中(仅限 CMS)

$fields->push( IQnection\LinkField\LinkField::create($name,$title) );

setValue() 预期一个数组或以下序列化的数组

array(
	'Location' => string ['Internal' | 'External'] (required)
	'Internal' => int [SiteTree Page ID]
	'External' => string [external URL | null],
	'NewTab' => [bool]
);

在你的模板中

<a href="$LinkedPage">Link Text</a>

DB 类方法

URL

外部链接的原始输入 URL,或 $Page->Link() 内部链接

AbsoluteURL

外部链接的绝对 URL(添加 http://),或 $Page->AbsoluteLink() 内部链接

LinkedPage

仅内部,返回链接页面 SiteTree 对象

forTemplate

返回 URL()

IsExternal

返回布尔值,如果链接是外部链接

Location

返回字符串,设置为内部或外部

Target

返回 _blank 或 self,用于 target HTML 属性

TargetATT(force=false)

返回完整的 target 属性,仅对新标签页有效 [target="_blank"] 传递 $force=true 以返回新标签页和同一标签页的属性