Как заменить или удалить стили HTML-редактора на ленте Sharepoint 2010 - PullRequest
4 голосов
/ 02 августа 2010

Я хочу заменить стили редактора HTML в раскрывающемся списке «Стиль HTML» на ленте редактора на стили, созданные мной.Согласно этой статье MSDN http://msdn.microsoft.com/en-gb/library/ms551040.aspx, как только я начну помещать классы, начинающиеся с шаблона ms-rteCustom-XXXX (XXXX - пользовательское имя), в CSS, который загружен на странице, существующие стили должны быть заменены.Я ожидаю, что в раскрывающемся списке из-за этого останутся только мои стили, однако я могу видеть все исходные стили Sharepoint, а затем и мои стили.

Я что-то упустил в документации или враньемне?Насколько я могу судить, оригинальные стили взяты из corev4.css, который также загружается главной страницей, однако, поскольку мой CSS загружается позже, кажется, что все стили, уже находящиеся в раскрывающемся списке, должны быть очищены.

Вот один из новых / пользовательских стилей в CSS, который я использую;

H3.ms-rteElement-H3CompanyName
{
    -ms-name:"Heading 3";
}
.ms-rteElement-H3CompanyName
{
    font-family: Arial, Helvetica, sans-serif;
    font-size: small;
    font-style: normal;
    line-height: normal;
    font-weight: bold;
    font-variant: normal;
    text-transform: none;
    color: #000000;
}

Ответы [ 6 ]

5 голосов
/ 19 февраля 2012

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

<PublishingWebControls:RichHtmlField FieldName="PublishingPageContent" HasInitialFocus="True" MinimumEditHeight="400px" runat="server" PrefixStyleSheet="customPrefix"/>

Объявляя новый PrefixStyleSheet, он удаляет все стили по умолчанию, так что вы можете предоставить только свой собственный.

3 голосов
/ 08 февраля 2012

Вместо JavaScript вы также можете использовать css, чтобы скрыть стили разметки.Например, это как скрыть заголовок 1 с.

#Ribbon\.EditingTools\.CPEditTab\.Paragraph\.ElementWithStyle\.Menu\.Styles #ElementWithStyle0-Menu,
#Ribbon\.EditingTools\.CPEditTab\.Paragraph\.ElementWithStyle\.Menu\.Styles #ElementWithStyle4-Menu
    {display:none;}
2 голосов
/ 04 августа 2010

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

Что вы можете сделать, так это переопределить встроенные с вашим собственным стилем. Просто используйте то же имя, что и стили OOTB, и введите свои собственные стили в файле CSS. Пример: чтобы переопределить стиль "Callout 1", добавьте правило для .ms-rteElement-Callout1 в свой CSS и добавьте туда свой собственный стиль.

Другой вариант - написать функцию JavaScript и прикрепить ее к событию с измененным размером ленты, используя

SP.UI.Workspace.add_resized(your_javascript_function_name);

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

0 голосов
/ 28 июля 2011

Я наконец-то заставил это работать, используя исключительно Javascript.Я зарегистрировал PageComponent, а затем добавил обработчик для соответствующей команды (в случае стилей разметки эта команда называется ElementWithStyleOptionsOpen).

Вот документация MSDN о том, как разрабатывать PageComponents:http://msdn.microsoft.com/en-us/library/ff407303.aspx#Y300

В своем собственном классе PageComponent я зарегистрировал 'ElementWithStyleOptionsOpen' как GlobalCommand:

getGlobalCommands: function () {
    return ['ElementWithStyleOptionsOpen'];
}

... И также добавил его в canHandleCommand:

canHandleCommand: function (commandId) {
    if (commandId === 'ElementWithStyleOptionsOpen')  {
        return true;
    }
    else {
        return false;
    }

Наконец, мой HandleCommand выглядит так:

handleCommand: function (commandId, properties, sequence) {
    if(commandId=='ElementWithStyleOptionsOpen') {
          //Remove styles that have the word Colored
          jQuery('li.ms-cui-menusection-items:contains("Colored")').remove();
    }
}
0 голосов
/ 07 марта 2011

Я бы добавил ваш CSS в альтернативную опцию CSS в разделе Look and Feel в настройках вашего сайта. Если вы не видите опцию, включите опцию публикации.

Затем добавьте нужный вам CSS. Он загружается последним и, чтобы убедиться, что вы можете добавить! Важное к стилям.

Смотрите здесь для более подробной информации ... На полпути вниз по странице.

Темы Sharepoint 2010 и альтернативный CSS для переопределения Core

РЕДАКТИРОВАТЬ ДЛЯ КОММЕНТАРИИ НИЖЕ:

$('a#Ribbon.EditingTools.CPEditTab.Markup.ElementWithStyle-Large').click(function(){
  $('a#ElementWithStyle3-Menu').parent().hide();
});
0 голосов
/ 08 октября 2010

Похоже, что единственный способ удалить элементы из выпадающего списка Стиль разметки - это изменить файлы в основном кусте Sharepoint.Сброс IIS, вероятно, является хорошей идеей после этих изменений, затем ctrl-F5 для полного обновления того, что видит браузер.

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

Чтобы удалить ненужные элементы из раскрывающегося списка Стиль разметки, удалите все правила CSS, которые влияют на классы, названные в этом шаблоне .ms-rteElement-XXXX.Наши собственные стили для использования в этом меню добавляются в одну из наших собственных таблиц стилей.

Существует четыре файла, которые необходимо изменить, две копии Controls.css и две копии Corev4.css.

Они расположены следующим образом;

Controls.css 
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\PublishingLayouts\en-us\Controls.css

COREV4.CSS 
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\1033\STYLES\COREV4.CSS

CONTROLS.CSS 
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\1033\STYLES\CONTROLS.CSS

COREV4.CSS 
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\1033\STYLES\Themable\COREV4.CSS
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...