Используйте мастер-файл для макета/дизайна шаблона в Sitefinity 4.0

У меня есть мастер-шаблон, содержащий код HTML, JS и CSS (который работал в версии 3.7), который я хотел бы использовать в качестве шаблона для проекта Sitefinity 4.0, но я не могу понять, как создать шаблон и использовать его. мастер-файл вместо того, чтобы мучительно перетаскивать кучу блоков макета и переделывать весь мой существующий код. В то время как я мог бы добавить свой мастер в проект из файловой системы на 3.7, он, похоже, не нашел его или не позволил мне использовать его в 4.0.

В частности, я не могу правильно указать пути к файлам JS и CSS в HTML. Firebug говорит, что сервер возвращает Forbidden и Not Found для определенных файлов.


person ashurexm    schedule 22.02.2011    source источник


Ответы (3)


Вы можете использовать существующую главную страницу, однако в версии 4.0 они не загружаются автоматически, как в версии 3.x. Вместо этого вы сначала создаете шаблон дизайна, выбираете этот образец в качестве основы. должна быть опция «выбрать свой собственный мастер-файл».

вот ссылка на документацию для этого: http://www.sitefinity.com/4.0/documentation/Designers-Guide/creating-a-template/creating-a-template-using-master-pages.aspx

надеюсь, это было полезно!

person SelAromDotNet    schedule 23.02.2011
comment
Проблема, с которой я сталкиваюсь, заключается в том, что он не обслуживает мои файлы JS и CSS - где я должен их разместить и какие пути (относительные или иные) я должен использовать? - person ashurexm; 23.02.2011
comment
Вы можете поместить их куда угодно, зависит от вашей среды. в идеале вы должны поместить файлы css в папку темы и зарегистрировать эту тему, чтобы она автоматически отображала их. в противном случае вы можете включить ссылку на них, где бы они ни находились, просто убедитесь, что пути указаны правильно. например, если вы помещаете свои js в папку Scripts в корне, ссылайтесь на них как src=/Scripts/myscript.js - person SelAromDotNet; 25.02.2011

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

Пример:

<script type="text/javascript" src="/Sitefinity/WebSiteTemplates/THEMENAME/App_Themes/SKINNAME/js/script.js"></script>

То же самое для изображений, которые используются в файле .master.

Надеюсь, это тоже поможет.

person Patrik Affentranger    schedule 25.01.2012

Sitefinity имеет очень специфическую файловую структуру, необходимую для реализации пользовательских шаблонов, использующих главную страницу.

  • Создайте файловую структуру, описанную здесь.
  • После этого убедитесь, что нужный вам css содержится в файлах main.css/reset.css в глобальном каталоге, и загрузите главную страницу в каталог App_Master.
  • Имея эти файлы, вы должны зарегистрировать файлы CSS в качестве темы.
  • Перейдите к Administration > Settings, выберите расширенный параметр и выберите Appearance > Frontend Themes в меню слева.
  • Добавьте новую тему и укажите путь к каталогу, содержащему вашу тему (в предоставленной ссылке изображение показывает структуру файла для темы с именем MyGreenTheme.
    Это путь: ~/App_Data/Sitefinity/WebsiteTemplates/MyTemplate/App_Themes/MyGreenTheme).
  • Как только это будет сделано, создайте новый шаблон и перейдите в каталог App_Master, чтобы выбрать свою главную страницу. В правой части редактора шаблонов нажмите Тема и выберите только что зарегистрированную тему.

Изображения можно размещать по

  1. применение фонового изображения к контейнерам, указанным на главной странице, с помощью css или
  2. поместив их в заполнители из бэкенда конструктора.

Если вы решите использовать первое, а не второе, убедитесь, что пути к изображениям в ваших файлах main.css и reset.css относятся к этим файлам. (например, background-image:url('../../Images/some_image.png';)
(см. изображение структуры файла в предоставленной ссылке для уточнения)

В качестве примечания я обнаружил, что файлы, добавленные через визуальную студию, не подхватываются Sitefinity, их нужно добавлять через серверную часть, перейдя в «Администрирование»> «Структура файлов». После добавления через серверную часть любые изменения, внесенные в эти файлы, должны быть получены после обновления страницы.

Кроме того, я еще не пытался включить какой-либо код Javascript/JQuery в Sitefinity, но я предполагаю, что процесс будет аналогичным.

Ваше здоровье!

person jhoy    schedule 23.03.2012