答案 0 :(得分:1)
不是解决方案,而是开始的地方...
要更改此设置,您需要进行编辑
ManiphestTaskListView.php
phabricator / src / applications / maniphest / view
您要放置到期日的位置是放置“已分配:”的位置
if ($task->getOwnerPHID()) {
$owner = $handles[$task->getOwnerPHID()];
$item->addByline(pht('Assigned: %s', $owner->renderLink()));
}
拉入自定义字段可能需要更多的研究,我认为您可以通过以下方法进入自定义字段的任务
$fields = PhabricatorCustomField::getObjectFields(
$task,PhabricatorCustomField::ROLE_VIEW);
然后您可以根据需要拉出您想要的字段,我怀疑这样做有更好的方法...所以您只需要特定的字段
if ($fields){
foreach ($fields->getFields() as $field){
if ($field->getModernFieldKey()=='custom.mycustomfield'){
// in theory you might be able to add it like this
$item->addByline(pht('%s', $field->getXXXX()));
}
}
我不确定要获取自定义字段值需要做什么,我正在使用getXXXX()来表示您可能需要做的事情,我认为自定义字段通常具有render()方法,但同样我不确定您如何将其呈现在列表视图中
答案 1 :(得分:1)
我错过了您需要打电话给$fields->readFieldsFromStoage($task)
的那一步,然后我使用了$field->getValueForStorage()
我无法说出它的正确性或合法性,甚至效率,但这确实符合我的想法
$fields = PhabricatorCustomField::getObjectFields(
$task,PhabricatorCustomField::ROLE_VIEW);
if ($fields){
$fields->readFieldsFromStorage($task);
foreach ($fields->getFields() as $field){
if ($field->getModernFieldKey()=='custom.mycustomfield'){
// in theory you might be able to add it like this
$item->addByline(pht('Due Date:%s', $field->getValueForStorage()));
$item->addByline(pht('Assigned: %s', $owner->renderLink()));
}
}
希望有帮助