Всплывающий текстовый редактор SharePoint 2007 отображает корпоративный логотип на главной странице. Как это можно удалить? - PullRequest
0 голосов
/ 09 марта 2010

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

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

<%@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 \ расширения веб-сервера \ 12 \ TEMPLATE \ LAYOUTS \ 1033 \ htmleditor.js

и самого редактора форматированного текста на

C: \ Program Files \ Common Files \ Microsoft Shared \ расширения веб-сервера \ 12 \ TEMPLATE \ LAYOUTS \ RTE2PUEditor.aspx

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

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

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

1 Ответ

2 голосов
/ 10 марта 2010

Метод 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. Похоже, что самым быстрым решением является использование формы вместо тега body:

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

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

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

...