Skip to content

标签保存联动接口 ​

在 Z-BlogPHP 中调用标签对象的 Save() 方法时(后台新建、编辑标签最终都会走到这里),会在数据入库前触发 Filter_Plugin_Tag_Save 接口,适合做保存前的字段补全与联动处理。

接口信息 ​

接口参数说明
Filter_Plugin_Tag_Save&$tagTag 类的 Save 方法接口

完整案例 ​

下例在保存标签时为没有别名的标签自动生成一个默认别名:

php
<?php

RegisterPlugin("demoAPP", "ActivePlugin_demoAPP");

function ActivePlugin_demoAPP()
{
    Add_Filter_Plugin('Filter_Plugin_Tag_Save', 'demoAPP_Tag_Save');
}

function demoAPP_Tag_Save(&$tag)
{
    if ($tag->Alias == '') {
        $tag->Alias = 'tag-' . date('YmdHis');
    }
}

注意事项 ​

  • 触发时机在数据入库之前:默认注册方式下回调返回值被忽略,回调中修改 $tag 的属性会随本次保存一起写入数据库。
  • 若注册时传入 PLUGIN_EXITSIGNAL_RETURN,回调的返回值将直接作为 Save() 的返回值并跳过数据库写入,可用于有条件地阻止保存,此时应自行向用户说明原因。
  • 自动生成别名时注意与既有别名查重,避免生成重复别名导致地址冲突。
  • 回调中不要对当前对象再次调用 Save(),避免递归。