web-dev-qa-db-ja.com

レンダリング中にDrupalノードのフィールドで画像のURLを変換する方法は?

私は Plupload を使用して新しいCCKモジュールを開発しました。ユーザーはネイティブHTML5 APIを使用して画像をドラッグおよびアップロードできます。 CKEditor内に画像を直接ドラッグする方法がわからないため、pluploadのjQueryウィジェットを使用して画像をアップロードした後、ユーザーがCKEditor内にその画像をドラッグできるファイル名の代わりに画像を表示しています。その2ステップのドラッグアンドドロッププロセス。

Chromeを使用して画像をCKEditorにドラッグアンドドロップすると、CKEditorは次のコードを生成します

<p>
    <img src="http://myportal/sites/myportal/files/plupload/p15sjkcj2c1o3koe3hsp19761ep14.jpg" /></p>

Firefox/Safariを使用して同様のアクションを実行すると、CKEditorは次のコードを生成します

<p>
    <img src="../../sites/myportal/files/plupload/p15sjle1js11r5289aibk0m1n7q3.jpg" /></p>

問題は、ノードを表示しているところ(ビュー、パネルなど)に依存します。イメージは、.-/.. /で始まる場所を指し示し、 http://ではなくmyportal /

Drupalがノードのビューを生成しているときに、「../../ sites/myportal/files/plupload/p15sjle1js11r5289aibk0m1n7q3.jpg」が展開または「http ://myportal/sites/myportal/files/plupload/p15sjkcj2c1o3koe3hsp19761ep14.jpg "

これを行う1つの方法は、jQueryを使用して、src属性に「plupload」という単語が含まれるすべての<img>タグを検索し、その属性を完全なURLに変更することです。ただし、表示が大幅に遅くなります。 Drupalモジュールまたはカスタムコーディングを使用する他のアイデア?

4

Flexfilter または Custom filter のいずれかを使用して、正規表現を含むカスタムフィルターでおそらくそれを実現できます。

1
Matt V.