在 OctoberCMS 中更改 columns.yaml 中的状态文本
Change status text in columns.yaml in OctoberCMS
我想将 Yes/No 更改为 Active/Closed 因为我已经尝试
status:
label: Status
type: group
conditions: status in (:filtered)
options:
pending: Pending
active: Active
closed: Closed
和
status:
label: Status
type: switch
以上代码在https://octobercms.com/docs/backend/lists#column-switch
中找到
谁能有什么解决办法吗?
没有针对 switch
列类型的 yaml 配置来执行此操作,但可以使用其他两种解决方案
方法一,需要覆盖本地化文件。
- 在项目文件夹中创建
lang/en/backend
目录
- 创建文件
lang.php
并在其中添加:
<?php
return [
'list' => [
'column_switch_true' => 'Active',
'column_switch_false' => 'Closed'
],
];
- (可选)如果您必须覆盖其他消息,基本语言文件是
modules/backend/lang/en/lang.php
缺点:
- 它将影响所有
switch
类型的列
方法 2. 为该列创建部分
将列的 yaml 配置更改为:
状态:
标签:状态
类型:部分
路径:column_status
将文件 _column_status.htm
添加到 controllers
文件夹中的相应文件夹,内容为:
<?php if($value) :?>
Active
<?php else: ?>
Closed
<?php endif ?>
试试这个:
在您的模型中:
public function getIsActiveAttribute()
if ($this->status) {
return 'Active';
} else {
return 'Closed';
}
}
在modelname/columns.yaml
isActive:
label: Status
type: html
您可以 return html 来自函数 getIsActiveAttribute() 的字符串
例如
public function getIsActiveAttribute()
if ($this->status) {
return '<i style="color:green">Active</i>';
} else {
return '<i style="color:red">Closed</i>';
}
}
我想将 Yes/No 更改为 Active/Closed 因为我已经尝试
status:
label: Status
type: group
conditions: status in (:filtered)
options:
pending: Pending
active: Active
closed: Closed
和
status:
label: Status
type: switch
以上代码在https://octobercms.com/docs/backend/lists#column-switch
中找到谁能有什么解决办法吗?
没有针对 switch
列类型的 yaml 配置来执行此操作,但可以使用其他两种解决方案
方法一,需要覆盖本地化文件。
- 在项目文件夹中创建
lang/en/backend
目录 - 创建文件
lang.php
并在其中添加:
<?php return [ 'list' => [ 'column_switch_true' => 'Active', 'column_switch_false' => 'Closed' ], ];
- (可选)如果您必须覆盖其他消息,基本语言文件是
modules/backend/lang/en/lang.php
缺点:
- 它将影响所有
switch
类型的列
方法 2. 为该列创建部分
将列的 yaml 配置更改为:
状态: 标签:状态 类型:部分 路径:column_status
将文件
_column_status.htm
添加到controllers
文件夹中的相应文件夹,内容为:
<?php if($value) :?> Active <?php else: ?> Closed <?php endif ?>
试试这个:
在您的模型中:
public function getIsActiveAttribute()
if ($this->status) {
return 'Active';
} else {
return 'Closed';
}
}
在modelname/columns.yaml
isActive:
label: Status
type: html
您可以 return html 来自函数 getIsActiveAttribute() 的字符串
例如
public function getIsActiveAttribute()
if ($this->status) {
return '<i style="color:green">Active</i>';
} else {
return '<i style="color:red">Closed</i>';
}
}