Movabletype 可移动类型5.2.6— ;是否修改添加到条目的资产的默认html标记?

Movabletype 可移动类型5.2.6— ;是否修改添加到条目的资产的默认html标记?,movabletype,Movabletype,我知道,很长一段时间以来,MT并没有使编辑[image]资产插入MT条目时包装该资产的默认标记变得容易/可访问。(奇怪的是,它没有像其他任何东西一样被创建为系统模块。) 有一个插件似乎解决了这个问题,尽管它是为MT 4*编写的,似乎已经不存在了: 无论如何,我已经安装了它,不清楚它应该如何工作或如何被触发/管理(没有设置,尽管我可能做得不对) 每次将图像插入条目时,我都希望它的标记在标记中包含一些属性。例如,我希望在将每个图像插入条目正文时为其指定ID值: <IMG ID="ar_<

我知道,很长一段时间以来,MT并没有使编辑[image]资产插入MT条目时包装该资产的默认标记变得容易/可访问。(奇怪的是,它没有像其他任何东西一样被创建为系统模块。)

有一个插件似乎解决了这个问题,尽管它是为MT 4*编写的,似乎已经不存在了: 无论如何,我已经安装了它,不清楚它应该如何工作或如何被触发/管理(没有设置,尽管我可能做得不对)

每次将图像插入条目时,我都希望它的标记在标记中包含一些属性。例如,我希望在将每个图像插入条目正文时为其指定ID值:

<IMG ID="ar_<mt:AssetId>" … />

  • 这个问题在MT 6中解决了吗?(我将推迟系统升级,直到我们发布,因为我现在不想破坏稳定,但这可能是值得的。)
  • 如何操作上述插件的提示
  • 除了直接编辑Perl模块或编写自己的插件之外,还有什么建议/技巧吗
我最后只是编辑了Perl文件。FTR相关部分如下所示:

lib/MT/Asset/Image.pm
新代码如下。本质上,在将资产插入条目时,根据用户选择的选项,有几个条件输出HTML blob。我对Perl一无所知,但基本上在每个相关的例子中,我都将
MT::Util::encode_html($asset->id)
插入到sprintf调用中,并使用%s thingy在适当的点将id的值插入到我的html中

(我还去掉了ca 1999 onclick“opena popup”代码,将其替换为可通过待编写jquery调用读取的属性。)

my$link
=$thumb
? 斯普林特(
'',
MT::Util::encode_html($thumb->url),$dimensions,
MT::Util::encode_html($asset->label),$wrap_样式,
MT::Util::encode_html($asset->id)
)
:MT->translate(“查看图像”);
$text=sprintf(
q | |,
MT::Util::encode_html($popup->url),
MT::Util::encode_html($popup->url),
$asset->image\u width,
$asset->image\u高度,
$link,
);
}
否则{
if($param->{thumb}){
$text=sprintf(
'',
MT::Util::encode_html($asset->url),
MT::Util::encode_html($asset->label),
MT::Util::encode_html($thumb->url),
$dimensions,
:MT->translate(“查看图像”);
$text=sprintf(
q | |,
MT::Util::encode_html($popup->url),
MT::Util::encode_html($popup->url),
$asset->image\u width,
$asset->image\u高度,
$link,
);
}
否则{
if($param->{thumb}){
$text=sprintf(
'',
MT::Util::encode_html($asset->url),
MT::Util::encode_html($asset->label),
MT::Util::encode_html($thumb->url),
$dimensions,
$wrap_风格,
MT::Util::encode_html($asset->id)
);
}
否则{
$text=sprintf(
'',
MT::Util::encode_html($asset->label),
MT::Util::encode_html($asset->url),
$dimensions,$wrap_样式,
MT::Util::encode_html($asset->id),
);
}
}

我已经多次使用该插件来实现这一点。它的工作原理与您预期的一样——创建一个名为“资产插入”的模板模块并编辑要吐出的HTML。我已经用MT4和5对其进行了测试——我确信它可以与5.2.6一起使用——它也应该与MT6一起使用。

我始终建议不要编辑核心。无论何时升级,您都必须弄清楚如何重新应用更改。别开玩笑了。:)尽管从外观上看,我很确定代码自2001年以来就没有被修改过。Dan是对的,核心文件的代码在不同版本之间没有更改是不相关的,该文件将在下一次更新时被覆盖。除非你真的知道自己在做什么并跟踪自己的修改,否则永远不要修改核心代码。Sweet、 谢谢!我找到了该插件的一个早期/失效版本,该版本已经被废弃了几年,我无法让它工作。找不到更新版本。是的,到目前为止,使用Github处理事情的最大问题是很容易“丢失”最新的repo。
        my $link
            = $thumb
            ? sprintf(
            '<img src="%s" %s alt="%s" %s id="aid_%s" />',
            MT::Util::encode_html( $thumb->url ),   $dimensions,
            MT::Util::encode_html( $asset->label ), $wrap_style,
            MT::Util::encode_html( $asset->id )
            )
            : MT->translate('View image');
        $text = sprintf(
            q|<a href="%s" class="popup" data-img-url="%s" data-img-width="%s" data-img-width="%s">%s</a>|,
            MT::Util::encode_html( $popup->url ),
            MT::Util::encode_html( $popup->url ),
            $asset->image_width,
            $asset->image_height,
            $link,
        );
    }
    else {
        if ( $param->{thumb} ) {
            $text = sprintf(
                '<a href="%s"><img alt="%s" src="%s" %s %s id="aid_%s" /></a>',
                MT::Util::encode_html( $asset->url ),
                MT::Util::encode_html( $asset->label ),
                MT::Util::encode_html( $thumb->url ),
                $dimensions,
            : MT->translate('View image');
        $text = sprintf(
            q|<a href="%s" class="popup" data-img-url="%s" data-img-width="%s" data-img-width="%s">%s</a>|,
            MT::Util::encode_html( $popup->url ),
            MT::Util::encode_html( $popup->url ),
            $asset->image_width,
            $asset->image_height,
            $link,
        );
    }
    else {
        if ( $param->{thumb} ) {
            $text = sprintf(
                '<a href="%s"><img alt="%s" src="%s" %s %s id="aid_%s" /></a>',
                MT::Util::encode_html( $asset->url ),
                MT::Util::encode_html( $asset->label ),
                MT::Util::encode_html( $thumb->url ),
                $dimensions,
                $wrap_style,
                MT::Util::encode_html( $asset->id )
            );
        }
        else {
            $text = sprintf(
                '<img alt="%s" src="%s" %s %s id="aid_%s" />',
                MT::Util::encode_html( $asset->label ),
                MT::Util::encode_html( $asset->url ),
                $dimensions, $wrap_style,
                MT::Util::encode_html( $asset->id ),
            );
        }
    }