簡體   English   中英

MovableType 5.2.6 —修改添加到條目的資產的默認html標記?

[英]MovableType 5.2.6 — modify default html markup of assets added to an entry?

我知道很長一段時間以來,MT都不容易/容易地編輯將[image]資產插入到MT條目中時將其包裝的默認標記。 (非常奇怪,沒有像其他所有東西一樣將其創建為系統模塊。)

盡管它是為MT 4 *編寫的,並且似乎已失效,但似乎有一個插件可以解決此問題: https : //github.com/endevver/mt-plugin-custom-asset-markup我已經安裝了它,無論如何,還不清楚它應該如何工作或如何觸發/管理(沒有設置,盡管我可能做錯了)。

每次將圖像插入條目時,我都希望其標記在標記中包含其一些屬性。 例如,當每個圖像插入條目主體時,我想為其分配ID值:

<IMG ID="ar_<mt:AssetId>" … />
  • MT 6是否已解決此問題? (我正在等待系統升級,直到我們啟動為止,因為我現在不想破壞穩定,但可能值得這樣做。)
  • 有關如何操作上述插件的提示?
  • 除了直接編輯Perl模塊或編寫我自己的插件外,還有其他建議/技巧嗎?

我已經使用Assetylene插件執行了很多次。 它可以按您期望的方式工作-創建一個名為“資產插入”的模板模塊,然后編輯要吐出的HTML。 我已經在MT4和5上進行了測試-我確定它可以在5.2.6下使用-並且也應該在MT6上使用。

我最后只是編輯Perl文件。 FTR相關部分在這里:

lib/MT/Asset/Image.pm

新代碼如下。 本質上,在將資產插入條目時,根據用戶選擇的選項,有一些條件可以輸出HTML斑點。 我對Perl一無所知-但基本上在每種相關情況下,都將MT::Util::encode_html( $asset->id )插入到sprintf調用中,然后使用%s來將ID的值插入HTML中,適當的點。

(我還擺脫了ca 1999 onclick“打開彈出窗口”的代碼-替換為可以通過編寫的jquery調用讀取的屬性。)

        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 ),
            );
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM