2011-07-26 5 views
4

私はplone.app.theming 1.0b8を使用して、PloneサイトからDiazoでHTML5/CSS3テーマを作成しようとしています。 BODYパートの魅力のように働いています。しかし、HTMLタグとHEAD部分はより困難です。私には私がしようとした少なくとも:)DiazoのBaseおよびContent-Type + alter HTML属性を削除することはできますか?

  • はのxmlnsとxmlを削除:langはHTMLタグで
<drop attributes="xmlns xml:lang" theme="/html/" />
  • 属性削除ベースタグを
<drop theme="/html/head/base/" />
  • plone.app.themingまたはジアゾ出力にこれらの事を余儀なくされている場合、HTTP-当量=「Content-Typeの」
<drop theme="/html/head/meta[@http-equiv='Content-Type']" />

は、私は疑問に思って、またはそれは私のXPathだ場合のメタタグを削除しましたバギーですか?私は周りを検索したが、答えは見つからなかった。私はこれがここでの問題ではないと思いますけれども

BR

+0

ソースコードを直接編集するのではなく、Diazoを使ってテーマのhtmlテンプレートを操作する特別な理由はありますか? –

+2

多くの人がhtmlテンプレートの編集を避けることを好みますが、単純にできない場合もあります(つまり、htmlテンプレートがネットワーク経由で取得されるとき) – aclark

答えて

3

あなたのXPathは、おそらく、末尾に「/」で終わるべきではありません。

xmlns属性は、XMLSerializerによってXHTMLモードで追加された属性(少なくとも一般的な状況では)を削除することはできません。ルート規則タグ内に<xsl:output method="html"/>の代わりにHTMLシリアル化を設定することができます。

XHTMLモードでは、XMLSerializerはlang属性に一致するxml:langを追加します。再度、htmlシリアル化を設定してみてください。

通常、ベースタグはコンテンツからテーマにコピーされます。テーマのHTMLファイルにベースタグを付ける必要はありません。それをコピーしないと、出力に終わることはありません。しかし、同じページがhttp://localhost/some_urlhttp://localhost/some_url/の両方でレンダリングされるため、Zopeの出力には常にベースタグを含めることをお勧めします。これは相対URLとの違いにつながります。

libxsltによってcontent-typeヘッダーが追加されますが、libxsltによって無条件で追加されるため、抑制することはできません。

+0

ありがとうございます。 xsl:出力は、xmlnsとxml:langの両方を削除しました。ベースタグに関しては、コンテンツタイプのヘッダーと同じだと思います。抑圧することは不可能です。 –

+0

ああ、これはZopeの機能です.HTMLページを使わずに自動的にベースタグを追加します。 2つが必ずしも一致しないので、常にPloneで生成されたベースタグをコピーするのが最善です。 –

関連する問題