2012-01-25 10 views
6

ニュースレターの作成にCKEDITORを使用しています。すべてうまくいったが、メールでニュースレターを送ると、そこに保存されている画像は表示されない。この問題は、CKEDITORがイメージソースの相対パスを使用しているために発生しました。 <img src='/newsletter_images/news1/img1.jpg'>CKEDITORからデータベースに画像ソースを保存する際の絶対URLの使用方法

私はCKEditorバージョンのような絶対URLを使用する場合:次のように私が試した初期化がある

<img src='http://www.mydomain.com/newsletter_images/news1/img1.jpg' /> 

を:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#editor1').ckeditor({ baseHref: "http://www.google.com/" }); 
    }); 
</script> 

が、うまくいきませんでした。

一部の投稿では、baseUrlbaseDirを使用して見つかった問題を解決できました。私はこれを試しました:

$('#editor1').ckeditor({ 
        baseHref: "http://www.mydomain.com/", 
        baseUrl: "http://www.mydomain.com/newsletter/", 
        baseDir: "/newsletter/" 
}); 

しかし、それも動作しませんでした。

答えて

3

この問題は、ckeditorが主にウェブページベースの使用であるという考え方と関係していると思います。このすべてを電子メールで送信すると、ckeditorはもうのbaseHrefを追跡していないと思うでしょう。

電子メールが送信される前に(サーバー側で使用している言語を使用して)、そのリンクにbaseHrefを追加する方法が見つかった場合は、結果が得られる可能性があります。

このような何か(擬似コード):

+1

ありがとうございました。私の問題はphp str_replace関数を使用して自分の擬似コードに従って解決しています。 – Prajwal

+0

擬似コードでstr_replace関数を推奨する必要がありました。それは今働いてうれしい!...! – summea

+0

@Prajwalあなたはあなたのコードを表示することができますckeditorのデータを取得し、str_repalceでそれを変更するには... –

0
// get ckeditor text 
// find/replace <a href=""></a> links with baseHref + link 
// mail result 

が、これは、それが設定されている方法であるCKEditorバージョンのドキュメントを1として:

{文字列} CKEDITOR.config.baseHref以来:3.0ベースHREF エディタコンテンツの相対URLと絶対URLを解決するためにURLが使用されます。 config.baseHref = 'http://www.example.com/path/';デフォルト値:「」 (空の文字列)

http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html

+1

私はCKEditor 4を使用しているとき、これはCKFinder経由で挿入された画像には影響しません。それが他のユースケースにどのように適用されるかはわかりませんが、これはヘッズアップです。 –

+0

私は 'baseHref'設定がCKEditorによって生成されたWebコンテンツ内に' 'タグを入れると思います。悪いIMO。このファイルの 'baseHref'を検索してください:http://docs.ckeditor.com/source/plugin93.html#CKEDITOR-config-cfg-baseHref –

0

baseUrlには、あなたが探している設定ですが、それはあなたがあなたのサーバーに設定する必要がありますCKFinder設定です。これはjavascriptでは設定できません。もちろんCKEditorインスタンスでは設定できません。

関連する問題