2010-03-09 7 views
0

В настоящее время у меня возникают проблемы с попыткой стиля HTML-текстового редактора в нашем определении сайта MOSS 2007.Всплывающий текстовый редактор SharePoint 2007 отображает корпоративный логотип с главной страницы - как я могу удалить это?

Я уточнял корпоративный логотип инлайн на главной странице пользовательского в теге тела следующим образом:

<%@Master language="C#"%> 
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> 
<%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %> 
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register TagPrefix="wssuc" TagName="Welcome" src="~/_controltemplates/Welcome.ascx" %> 
<%@ Register TagPrefix="wssuc" TagName="DesignModeConsole" src="~/_controltemplates/DesignModeConsole.ascx" %> 
<HTML id="HTML1" dir="<%$Resources:wss,multipages_direction_dir_value%>" runat="server" xmlns:o="urn:schemas-microsoft-com:office:office"> 
<HEAD id="HEAD1" runat="server"> 
    <META Name="GENERATOR" Content="Microsoft SharePoint"> 
    <META Name="progid" Content="SharePoint.WebPartPage.Document"> 
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 
    <META HTTP-EQUIV="Expires" content="0"> 
    <SharePoint:RobotsMetaTag ID="RobotsMetaTag1" runat="server"/> 
    <Title ID=onetidTitle><asp:ContentPlaceHolder id=PlaceHolderPageTitle runat="server"/></Title> 
    <SharePoint:CssLink ID="CssLink1" runat="server"/> 
    <SharePoint:Theme ID="Theme1" runat="server"/> 
    <SharePoint:ScriptLink ID="ScriptLink1" language="javascript" name="core.js" Defer="true" runat="server" /> 
    <SharePoint:CustomJSUrl ID="CustomJSUrl1" runat="server" /> 
    <SharePoint:SoapDiscoveryLink ID="SoapDiscoveryLink1" runat="server" /> 
    <asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server"/> 
    <SharePoint:DelegateControl ID="DelegateControl1" runat="server" ControlId="AdditionalPageHead" AllowMultipleControls="true"/> 

    <style> 
body 
{ 
    background-image:url(/_layouts/images/corp/corpLogo.gif); 
    background-repeat:no-repeat; 
} 
</style> 
</HEAD> 

...

При развертывании в качестве функции, это главная страница отлично работает для всех нашего стандарта на страницах с боксами и сайтах - логотип отображается в верхнем левом углу (а в коде также применяется цветовая схема с использованием отдельно определенной таблицы стилей).

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

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

C: \ Program Files \ Common Files \ Microsoft Shared \ Web Server Extensions \ 12 \ ШАБЛОН \ LAYOUTS \ 1033 \ htmleditor.js

и фактический богатый текстовый редактор сама по

C: \ Program Files \ Common Files \ Microsoft Shared \ Web Server Extensions \ 12 \ ШАБЛОН \ LAYOUTS \ RTE2PUEditor.aspx

, но это не привело к успеху (и я бы очень скорее не сделайте этого в любом случае !!).

Может кто-нибудь указать мне в правильном направлении?

Я бы хотел, чтобы пользовательский брендинг (логотип, css и т. Д.) Применялся ко всем страницам, но не для всплывающего текстового редактора. Это возможно? Если да, то как?

ответ

2

Метод RTE2_GenerateLaunchArguments в HtmlEditor.js Копирует все таблицы стилей и стилей на странице:

var styleRules=new Array(); 
var styleRulesUrl=new Array(); 
for (var i=0; i<document.styleSheets.length; i++) 
{ 
    var styleSheet_href=document.styleSheets[i].href; 
    if (styleSheet_href !="") 
    { 
     styleRulesUrl[styleRulesUrl.length]=styleSheet_href; 
    } 
    else 
    { 
     var rules=document.styleSheets[i].rules; 
     for (var j=0; j<rules.length; j++) 
     { 
      styleRules[styleRules.length]=rules[j]; 
     } 
    } 
} 

Эти значения затем передаются и применяются к диалоговым RTE2PUEditor.aspx. Похоже, что быстрой работа вокруг использовать форму вместо тела тега:

form#aspnetForm 
{ 
    background-image:url(/_layouts/images/corp/corpLogo.gif); 
    background-repeat:no-repeat; 
} 

Идентификатор формы на RTE2PUEditor.aspx является RTE2PUEditorForm, в то время как большинство других страниц (особенно с помощью главной страницы) использовать aspnetForm.

Таким образом, вы можете захотеть изучить логотип сайта вместо использования CSS. Вы можете установить логотип вручную, перейдя в Настройки сайта> Название, Описание и значок> URL-адрес логотипа и описание и изменив URL-адрес. Или вы можете установить его через код, используя свойство SPWeb.SiteLogoUrl. Обратите внимание, для этого требуется, чтобы элемент управления SiteLogoImage присутствовал на вашей пользовательской главной странице.

+0

Спасибо за ваш быстрый ответ. Я рассмотрю эти варианты по возвращении на работу и отправлю сюда.Andrew –

+0

Rich - Форма # aspnetForm { background-image: url (/ _ layouts/images/corp/corpLogo.gif); background-repeat: no-repeat; } работал хорошо для меня. Большое спасибо за быстрый ответ и помощь здесь. Андрей –