2

SharePoint 2007 でホストされる複数 (19) のサイトを作成しており、Google Analytics を使用したいと考えています。最初の部分は簡単で、Google アナリティクスの JavaScript を SharePoint マスター ページに配置するだけで、すべてが期待どおりに機能しました。

ただし、19 のサイトのそれぞれで個別の統計を生成する必要があり、これはサイトごとに異なる ID を持つことによって行われます。私が最初に考えたのは、各サイトの web.config に ID を保存し、マスター ページを変更して、javascript 用にこれを読み取ることでした。

<%= ConfigurationManager.AppSettings["google.analytics.key"]%> 

残念ながら、Sharepoint はこれを気に入らず、次のように述べています。このファイルではコード ブロックは許可されていません。

私の質問は:

SharePoint マスター ページで web.config から appSettings を読み取る方法はありますか? また

サイト固有の情報をマスター ページに取得するための、より優れた SharePoint の方法はありますか? また

サイトごとに個別のマスター ページを使用することにこだわっていますか?

4

2 に答える 2

6

あなたが提案したことは非常に安全ではありません.sharepointデザイナーを使用している寄稿者がマスターページにコードを追加できるため、これは決して良い考えではありません. いずれにせよサーバーコントロールを使用することをお勧めします。これは開発に数分しかかかりませんが、その後の頭痛の種を大幅に節約できます

于 2010-08-27T03:19:30.197 に答える
5

SharePoint では、既定でマスター ページでのコードの使用が許可されていないため、マスター ページをコードに対して安全であるとマークする必要があります。web.config には、次の設定があります。

<SharePoint>
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="10" totalFileDependencies="50" AllowPageLevelTrace="false">
  <PageParserPaths>
  </PageParserPaths>
</SafeMode>

以下を含めるように変更する必要があります。

<PageParserPaths>
    <PageParserPath VirtualPath="/_layouts/masterpage/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true"/>
</PageParserPaths>

これにより、SharePoint はマスターページでコードを許可します。同じ考え方を使用して、他の SharePoint の場所でコードを許可できます。

もう 1 つのオプションはコード ビハインドを使用することですが、あなたの質問に基づいて、これを行いたくないことを前提としています。

于 2010-08-26T16:09:21.850 に答える