3

これは可能に思えますが、何かが欠けています。plone.app.theming (diazo) を使用しています。常温核融合のサイトからページを取り込もうとしています。を使用してロードする最初のページを取得できますが、そのページには、より多くのデータ ページを参照する URL があります。URL は次のようにフォーマットされています。 .

 <xsl:param name="ExtUrl" select="'http://exeternalsite'" />
    <xsl:template match="a/@href[contains(.,'/undergraduates')]">
        <xsl:attribute name="href">
            <xsl:value-of select="concat($ExtUrl, .)" />
        </xsl:attribute>
 </xsl:template>

また、実際のデータを取得できるように、コマンドに URL を渡す必要があります。

何か助けをいただければ幸いです - そして多分私はこれに間違ってアプローチしていますか?

4

3 に答える 3

2

ここに記載されているように href 属性を指定することにより、外部サイトからのコンテンツを含めることができます: http://docs.diazo.org/en/latest/advanced.html#include-external-content

plone.app.theming で「ネットワークの読み取り」オプションを有効にして、外部 URL を含めることができるようにする必要があります

他の人が指摘しているように、これはパフォーマンスに影響を与えますが、結果のページをキャッシュしている場合は問題ないかもしれません. フラグメントをキャッシュし、diazo サイトに記載されている SSI または ESI メソッド オプションを使用することで、パフォーマンス コストを回避できますが、filter.xsl スタイルシートまたは diazo プロキシを実行するように Nginx をセットアップする必要があります。

于 2012-06-27T19:57:53.407 に答える
2

リクエストの処理を完了する前に、リモート サービスに依存することは非常に悪い考えです。サイトがダウンしたり遅くなったりすることを想像してみてください。ページを提供する前に、終了またはタイムアウトするのを待っています。

より良い解決策は、javascript を使用してページのコンテンツを取得することです。

次のようになります。

$(document).ready(function(){
  $('#containerofcontent').load('http://remoteurl #contentselector');
});

サイトが別のドメインにあると仮定すると、ブラウザが ajax リクエストを許可するために、リモート サイトにいくつかの特別なヘッダーを設定する必要もあります。

Access-Control-Allow-Origin: http://plonesiteurl

ただし、任意の Web サーバーでヘッダーをオーバーライドするのは非常に簡単です。

于 2012-06-23T02:06:31.920 に答える
0

私があなたの質問を誤解していない限り(いつでも可能です)、あなたはpathemingを誤解していると思います。patheming は、リモート サイトからのテーマ アセット(テンプレート、画像など) を含めることができますが、リモート サイトからのコンテンツをプロキシすることを意図しておらず、実際にプロキシすることもできません。

于 2012-06-22T21:34:33.357 に答える