dede默认勾选自定义属性(flag)的方法

网络整理 - 06-26

dedecms中,增加文章的时候,默认所有的自定义属性都是不勾选的。如下图所示:

有时候,我们可能会需要:默认勾选某一自定义属性。

这个功能实现起来很简单,只需改一处源代码:

编辑 dede/templets/article_add.htm,找到224行

<?php
$dsql->SetQuery("Select * From `standard_arcatt` order by sortid asc");
 $dsql->Execute();
while($trow = $dsql->GetObject())
{
  if($trow->att=='j')
  echo "<input class='np' type='checkbox' name='flags[]' id='flags{$trow->att}' value='{$trow->att}' onclick='ShowUrlTr()'>{$trow->attname}[{$trow->att}]";
  else
  echo "<input class='np' type='checkbox' name='flags[]' id='flags{$trow->att}' value='{$trow->att}'>{$trow->attname}[{$trow->att}]";
}
?>

修改为:

<?php
 $dsql->SetQuery("Select * From `standard_arcatt` order by sortid asc");
$dsql->Execute();
 while($trow = $dsql->GetObject())
 {
  if($trow->att=='j')
  echo "<input class='np' type='checkbox' name='flags[]' id='flags{$trow->att}' value='{$trow->att}' onclick='ShowUrlTr()'>{$trow->attname}[{$trow->att}]";
  else
  {
    if($trow->att=='c')
    {
    echo "<input class='np' type='checkbox' name='flags[]' id='flags{$trow->att}' value='{$trow->att}' checked='checked'>{$trow->attname}[{$trow->att}]" ;
    }

    else
    {
      echo "<input class='np' type='checkbox' name='flags[]' id='flags{$trow->att}' value='{$trow->att}'>{$trow->attname}[{$trow->att}]";
    }
  }
}
?>

主要是添加了红色部分字段,其中if($trow->att=='c')中的c为默认勾选的自定义属性的id名称。

dede默认勾选自定义属性(flag)的方法