iqnection-modules / linkfield
SilverStripe 链接字段
2.1.0.2
2018-09-27 14:38 UTC
Requires
- silverstripe/framework: ^4.1
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 以返回新标签页和同一标签页的属性