Outcold.SiteManager в действии

    • ASP.NET
    • comilfoav.ru
  • modified:
  • reading: 2 minutes

Как я и обещал, что если будут заинтересованные лица, то я выложу код (пример сайта), при помощи которого работает http://comilfoav.ru.

Итак ссылка на скачивание. Проект от Visual Studio 2008 SP1. Дизайн полностью убран. Функциональность обрезана. Оставлены только основные примеры (каталог, items и статистика)

Теперь об установке:

  • Распаковываем архив
  • Из архива восстанавливаем базу SMSample.bak на ваш сервер SQL
  • Открываем web.config для настроек:
  1. Первые 5 настроек appconfig указывают на xml файлы настроек сайта (rewriter, messages, menu и т.д.)
  2. LogAdminSteps - записывать ли статистику, если пользователь аутентифицирован
  3. NeedStatistic - необходимо ли записывать статистику в базу (число посещений и другое)
  4. WGLicenseKey - ключ для WebGrid (иначе не будет работать) - взять на официальном сайте бесплатно.
  5. connectionStrings под именем Main - строка подключения к базе данных (восстановленной базе из бекапа)
  6. в секции authentication есть пользовать admin - admin для административной части приложения (здесь вы можете менять пароль или добавлять других пользователей).
  • В папке ImgLibrary самого сайта находятся папки для хранения картинок, где FCKLibrary - папка где хранятся картинки от fckeditor, Firm - картинки от фирм, Item - картинки от item.
  • Папка images содержит картинки для WebGrid (не работает он нормально, если положить их в другое место).
  • Сайт лучше запускать на IIS сервере (на сервере от VS он тоже будет работать, но не проверялся)
Пару слов о siteitems.config, он как раз и содержит mapping url путей к физическим путям сайта. В Configuration Extension - указывает какие типы файлов (расширений) нужно перехватывать, Separator - указывают чем разделены Folder в url (catalog/items/10.aspx - в этом случае catalog и items - Folders, а 10 - Item).

Дальше файл описывают структуру сайта при помощи понятий folder и item.

У Folder и Item есть следующие аттрибуты:

Id - просто уникальное имя объекта (чтобы его можно было найти);

Pattern - регулярное выражение, указывающее что в url представляет данный объект.

У обоих элементов xml могут быть вложенные элементы:

User - имя пользователя, под которым могут заходить в данный folder или item;

ContextParameter - параметр, в который будет преобразован url данного элемента (для обозначения идентификаторов, например), которые можно запросто получить в code behind при помощи класса HttpContextHelper (outcold.sitemanager);

Parameter - фиксированный параметр данного item (получить значение можно опять при помощи HttpContextHelper).

У Item есть атрибуты, помимо выше перечисленных:

Location - физический путь к странице;

Title - заголовок страницы.

Чтобы работать с элементами xml файла siteitems.config - существует класс NavigationManager, так чтобы получить url какого то либо item необходим метод NavigationManager.GetUrl, у которого первый параметр обозначает id элемента в xml, а следующие - подставляемые значения в contextparameters (их может и не быть).

Вот такой вот, по моему мнению, не сложный конфигуратор. Пробуйте пример и задавайте вопросы.

See Also