2012-04-11 4 views
4

私はこのように、私は同じページを指すリンクを書いたHTMLテンプレートファイルのいずれかでのPlone 4とのジアゾを使用しています:DiazoがPloneの "#"リンクを変更するのを避けるには?

<a href="#">foo</a> 

しかし、それは次のようにレンダリングされます。

<a href="/mysite/++theme++my.theme/">foo</a> 

Diazoが元のテンプレートコードを変更したり、同じページを指す特定のメカニズムがあることを避けるにはどうすればいいですか?

答えて

3

これはplone.app.themingのバグのようですね。 absolute-to-absoluteパーサーは、アンカーリンクを無視する必要があります。

+0

私もバグだと思います。バグを複製するコードを公開します。今私はjavascriptを使って自分のアプリケーションで修正しました。 –

2

Ploneの "Diazo theme"コントロールパネルには、 "Absolute path prefix"( "詳細設定"タブ)というオプションがあり、その魔法を定義します。あるいは、 "#"リンクを事前定義された$パス変数に置き換えるルールを定義しようとすることもできます。

「詳細設定」タブまたは事前定義された変数の設定の詳細については、plone.app.themingを参照してください。

+0

"#"で指されているオブジェクトがページパスを基準にしているため、グローバル "絶対パスプレフィックス"は使用できません。したがって、異なるページには異なるパス接頭辞が必要です。また、テーマの相対URLを使用しているため、パスのプレフィックスを変更することはできません。 –

+0

"#"は "/mysite/++theme++my.theme"で置き換えられます。 "/++theme++my.theme"では絶対パス接頭辞ではありません。 –

+0

/mysite /がplone.app.themingによって追加されました。これは問題ありません。そうでなければ、私はあなたとマーティンと一緒に、これは本当にジアゾコンパイラのバグだと思っています。 Pythonのurlparse.urljoinを使用して、すべてのURLに絶対パス接頭辞を適用します。私は、#で始まるURLの結合をスキップするurljoinのラッパーがあるはずだと思う。 –

関連する問題