2016-04-28 2 views
1

Не уверен, что лучший способ сделать следующее:Kenitco Встроенного CSS

В настоящее время у нас есть заголовок/щиты графики установки быть фоновые изображения, которые будут использоваться для нескольких шаблонов. Теперь проблема позволяет пользователю изменять эти фоновые изображения в Kentico CMS без необходимости обновления самого CSS.

CSS

.billboard.landing-page { 
    background-image: url("../img/billboard-sub-page.jpg"); 
    background-size: cover; 
    background-position: 50% 50%; 
    height: 35.3125rem; 
    position: relative; 
    margin-bottom: 4.0625rem; 
    color: #fff; 
    text-align: left; 
    padding-top: 21.875rem; } 

HTML

<div class="wrapper billboard landing-page"> 
<!-- Billboard Heading & Lead in --> 
<div class="row"> 
    <div class="small-11 medium-9 columns"> 
    <div class="billboard-heading"> 
     <h1>Lorem Ipsum Dolor Sit</h1> 
    </div> 
</div> 

Что мы думаем, будет работать, чтобы удалить вызов CSS для фона изображения и добавить его в качестве встроенный стиль, такой как:

<div class="wrapper billboard landing-page" style="background-image:url(KENTICO-CODE-HERE);"> 
... 
</div> 

У кого-нибудь есть хороший метод, позволяющий пользователю выбрать изображение из библиотеки и заменить URL-адрес в встроенном стиле?

ответ

2

Ваш лучший выбор - не использовать статический html. Вам нужно использовать типы страниц и повторители и сделать вашу страницу динамической, а просто позволяя пользователю редактировать html и css. Check out the documentation о добавлении контента с использованием типов страниц (типы документов в версии 7).

2

Как и Бренден, вам необходимо добавить фоновое поле к типу вашей страницы, поэтому редактор заполнит это поле на вкладке формы. В этом случае вы можете использовать макрос, чтобы ввести значение поля фона в разметке, как это:

<div class="wrapper billboard landing-page" style="background-image:url({%Background%});"> 
... 
</div> 
+0

Что лучшие шаги/документация/учебник для этого? Спасибо за ваш ответ. Kentico - новая система для нас. –

+0

1. Перейдите на страницу (Документ); 2. Перейдите к соответствующему типу страницы; 3. Нажмите «Изменить тип страницы»; 4. Перейдите на вкладку «Поля»; 5. Добавить новое текстовое поле с именем BackgroundImage; 6.Перейдите в приложение «Страницы» и перейдите по любой странице этого типа страницы в Дереве CMS; 7. Откройте вкладку «Форма» для этой страницы; 8. Заполните поле BackgroundImage; 9. Добавьте HTML из моего ответа на свою страницу. –

+0

. Пользовательское взаимодействие должно быть таким, чтобы они выбирали изображение из медиа-библиотеки, а URL-адрес этого изображения заменяется встроенным стилем. Продвигайтесь через свои шаги, спасибо. Я предполагаю вместо текстового поля сделать это поле выбора изображения. Кроме того - HTML для этой страницы будет находиться в шаблоне страницы, поэтому я заменю встроенный стиль макросом, который вы предоставили? –

1

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

шаги, чтобы сделать это:

1) Перейти к типам страниц (типы документов для Kentico 7) приложения и создать новое поле с помощью «выбора» Медиа-контроля формы. Использовать, например. MediaImage как поле name.

2) Создание веб-части в соответствии с this documentation article

3) Используйте следующий код, чтобы получить адрес вашего MediaImage поле и построить HTML код:

 var mediaImage = CurrentDocument.GetStringValue("MediaImage", null); // image from custom field using "MediaSelection" form control 
     if (!String.IsNullOrEmpty(mediaImage)) 
     { 
      // continue only if image is set 
      var url = URLHelper.GetAbsoluteUrl(mediaImage); 
      var html = String.Format("<div class=\"wrapper billboard landing - page\" style=\"background - image:url({0}); \">", url); 
     } 

4) Добавить HTML в страницу с использованием, например, Буквальное управление

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

+1

Нет никакой причины для пользовательской веб-страницы Richard. Это можно обрабатывать с типом страницы и ретранслятором из коробки с преобразованием без специального кода. –

+0

Да, это конечно возможно. Вы также можете использовать макросы для генерации того же кода. Некоторым пользователям может быть проще использовать веб-часть для этого. В зависимости от сценария вы также можете использовать некоторые свойства, например. изображение по умолчанию, ширину, размер и другие, которые могут быть более легкими для обработки из свойств вместо преобразования. – Enn

Смежные вопросы