Movabletype 可移动类型5.2.6— ;是否修改添加到条目的资产的默认html标记?
我知道,很长一段时间以来,MT并没有使编辑[image]资产插入MT条目时包装该资产的默认标记变得容易/可访问。(奇怪的是,它没有像其他任何东西一样被创建为系统模块。) 有一个插件似乎解决了这个问题,尽管它是为MT 4*编写的,似乎已经不存在了: 无论如何,我已经安装了它,不清楚它应该如何工作或如何被触发/管理(没有设置,尽管我可能做得不对) 每次将图像插入条目时,我都希望它的标记在标记中包含一些属性。例如,我希望在将每个图像插入条目正文时为其指定ID值:Movabletype 可移动类型5.2.6— ;是否修改添加到条目的资产的默认html标记?,movabletype,Movabletype,我知道,很长一段时间以来,MT并没有使编辑[image]资产插入MT条目时包装该资产的默认标记变得容易/可访问。(奇怪的是,它没有像其他任何东西一样被创建为系统模块。) 有一个插件似乎解决了这个问题,尽管它是为MT 4*编写的,似乎已经不存在了: 无论如何,我已经安装了它,不清楚它应该如何工作或如何被触发/管理(没有设置,尽管我可能做得不对) 每次将图像插入条目时,我都希望它的标记在标记中包含一些属性。例如,我希望在将每个图像插入条目正文时为其指定ID值: <IMG ID="ar_<
<IMG ID="ar_<mt:AssetId>" … />
- 这个问题在MT 6中解决了吗?(我将推迟系统升级,直到我们发布,因为我现在不想破坏稳定,但这可能是值得的。)
- 如何操作上述插件的提示
- 除了直接编辑Perl模块或编写自己的插件之外,还有什么建议/技巧吗李>
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 ),
);
}
}