Как включить динамическую информацию в главную страницу Sharepoint? - PullRequest
2 голосов
/ 26 августа 2010

Мы создаем несколько (19) сайтов для размещения на Sharepoint 2007 и хотим использовать Google Analytics.Первый шаг был прост, просто поместив JavaScript-код Google Analytics на главную страницу Sharepoint, и все заработало, как и ожидалось.

Однако мы хотим, чтобы каждый из 19 сайтов генерировал отдельную статистику, и это делается с помощью разныхидентификатор для каждого сайта.Моей первой мыслью было сохранить идентификатор в web.config каждого сайта и изменить главную страницу, чтобы прочитать это для javascript:

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

К сожалению, Sharepoint не нравится это и говорит: блоки кода не являютсяразрешено в этом файле.

Мой вопрос:

Есть ли способ прочитать appSettings из web.config на главной странице Sharepoint?или

Есть ли лучший способ Sharepoint для переноса информации, специфичной для сайта, на главную страницу?или

Я застрял с использованием отдельных главных страниц для каждого из сайтов?

Ответы [ 2 ]

6 голосов
/ 27 августа 2010

То, что вы предложили, крайне небезопасно, поскольку позволяет любому участнику, использующему конструктор sharepoint, добавлять любой код на главную страницу, это никогда не будет хорошей идеей.Я бы предложил использовать серверный элемент управления в любом случае, это займет всего несколько минут, но впоследствии избавит вас от головной боли

5 голосов
/ 26 августа 2010

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.

Другой вариант - использовать codebehind, но я полагаю, основываясь на ваших вопросах, что вы не хотите этого делать.

...