2012-04-27 10 views
1

私はDrupalについて何も知りませんが、私は彼らが会議のために取り組んでいるDrupalページを編集している人を助けています。誰かのDrupalページを編集しています。フィルタリングされていないHTMLを使用すると、Drupalはイメージタグで使用しているエスケープした引用符をエスケープします。何がありますか?

私がそれらのためにしたことの1つは、提供されたCSVファイルからスクラップされたいくつかの写真とデータに基づいてテーブルを自動的に生成することでした。表中の典型的な行は次のようになります。

<tr> 
    <td> 
     <img src="http://external.host/pics/pic.jpg" height="100" style="height:100;" /> 
    </td> 
    <td> 
     <h3>Name</h3><p>Organization<br />Country of Origin</p> 
    </td> 
</tr> 

問題でも、テーブルを保存した後、Drupalはすべてエスケープされ、完全にフィルタリングされていないHTML(絶対に何もオフにチェックしていないコンテンツタイプの設定)を使用して、ありますイメージタグ内の見積もりの

これはタグを壊し、私は壊れた画像の束を得る。

私には何が欠けていますか?

編集:Drupalの7

+0

私は答えはありませんが、私は数十のDrupalサイトで作業しましたが、私が約4年間維持していたサイトで数分前まで、これは起こったことがありませんでした。今私はエスケープされていなければ、引用符を入力することはできません。それはフィルターにはない - 私はチェックした。私はそれがホストでのMySQLセットアップの変更かどうか疑問に思っています。通常、これはDrupalで行うのは絶対にうまくいくはずです。 –

+0

これも私の疑いです。コンテンツがデータベースに滞留する前に、おそらくPHPのサニタイズの問題でしょう。私は回避策を見つけることができません。 –

+0

今日はデュインがこれを持っていたことに興味があります。私は間違いなくあなたと同じ方法を考えています - バックエンドのもの。私はホストプロバイダに連絡して、長期的に私にとってはうまくいかないので、尋ねます。 –

答えて

3

私のための解決策は、php.iniのマジッククォートをオフにして、この設定が過去3年間オンになっているため、ホスティング側で何かが変わったと考えていました。 =オフ

+0

私が上で言ったように、これは実際に私たちのサイトやホスティングやそれに類するものではありません。私たちは、会議主催者のためにDrupalに物をぶつけています。残念ながら、私はホスティングマシンにアクセスすることは一切ありません。 –

+0

会議の主催者にこの問題を知らせて、管理者がこれを解決できるようにする必要があります。 – ramiro

0

ノードまたはフィールドを示すあなたの意見はありますか?ノードの場合、ティーザーまたは完全なノードを参照していますか?

フィールドを含むビューは、完全なコンテンツ(ノード)と同じフォーマットまたはHTML/CSS構造を保持しません。あなたのビューは、コンテンツページと同じものを表示するコンテンツまたはティーザーのリストを返すことができます。それ以外の場合は、作成するフィールドビューに固有のCSSを記述する必要があります。

ANSWER

+0

これは実際のURLではなく、Drupalサイトとは無関係の外部サイトで画像がホストされていることを示すために使用しているプレースホルダです。画像は存在していますが、ブラウザのURLからそれらのURLにアクセスできます。 –

+0

フルHTMLフォーマットを試しましたか? – Jayaram

+0

これは私が使用しているものです。タグ内の引用符は引き続きエスケープされます。 –

0

私は決定的にこれが起こっている理由を述べることはできませんが、Mayaが述べられ、私の最初の疑いがもたれたように、これは最も可能性の高いバックエンドのデータベースエントリのサニタイズのいくつかの並べ替えの結果である編集。

しかし、私は回避策を見つけることができました。単に引用符で囲まれていない属性を使用してください。 Drupalがバックスラッシュで引用符をエスケープしてマークアップを破棄しないようにするためには、これが唯一のことでした。

0

はまったく同じ問題を抱えていました。私はついにそれを更新するためにデータベース内のノードを更新する必要がありました。

0

私は質問が少し不明だと思います。あなたはどこにCSVファイルの情報を入れましたか?別のテーブルに?ノードのボディフィールド内?また、どのようにデータをインポートしましたか?さらに重要なのは、どのようにデータを印刷するのですか?

とにかく、新しいテーブルを作成して、ファイルのtplに情報を印刷するだけで済みます。 また、phpフィールドフォーマットをインストールし、phpから直接印刷することもできます。

+0

申し訳ありません。私がテーブルを言ったとき、私はHTMLテーブルを意味しました。私はCSVを解析し、関連する情報を適切なHTML td要素に入れたRubyスクリプトを実行しました。コンテンツをコピーして貼り付けるだけのテキストファイルです。私はDrupalのインストール自体を変更する権限も権限もありません。私たち以外の組織がホストしています。インポートやファイルの処理はありません。基本ページ型ノードのコンテンツエディタにHTMLを貼り付けるだけです。 –

1

同じ問題 magic_quotes_gpcのこことmagic_quotes_gpcを回すには助けたが、私は、php.iniファイルでそれを行うために必要な、.htaccessファイルでそれをオフに設定、Drupalはデフォルトで行うように、必ずしも助けない、に応じてPHPの設定。

詳細はhttp://drupal.org/node/1437998を参照してください。

関連する問題