Outcold.SiteManager в действии
- modified:
- reading: 2 minutes
Как я и обещал, что если будут заинтересованные лица, то я выложу код (пример сайта), при помощи которого работает http://comilfoav.ru.
Итак ссылка на скачивание. Проект от Visual Studio 2008 SP1. Дизайн полностью убран. Функциональность обрезана. Оставлены только основные примеры (каталог, items и статистика)
Теперь об установке:
- Распаковываем архив
- Из архива восстанавливаем базу SMSample.bak на ваш сервер SQL
- Открываем web.config для настроек:
- Первые 5 настроек appconfig указывают на xml файлы настроек сайта (rewriter, messages, menu и т.д.)
- LogAdminSteps - записывать ли статистику, если пользователь аутентифицирован
- NeedStatistic - необходимо ли записывать статистику в базу (число посещений и другое)
- WGLicenseKey - ключ для WebGrid (иначе не будет работать) - взять на официальном сайте бесплатно.
- connectionStrings под именем Main - строка подключения к базе данных (восстановленной базе из бекапа)
- в секции authentication есть пользовать admin - admin для административной части приложения (здесь вы можете менять пароль или добавлять других пользователей).
- В папке ImgLibrary самого сайта находятся папки для хранения картинок, где FCKLibrary - папка где хранятся картинки от fckeditor, Firm - картинки от фирм, Item - картинки от item.
- Папка images содержит картинки для WebGrid (не работает он нормально, если положить их в другое место).
- Сайт лучше запускать на IIS сервере (на сервере от VS он тоже будет работать, но не проверялся)
Дальше файл описывают структуру сайта при помощи понятий 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 (их может и не быть).
Вот такой вот, по моему мнению, не сложный конфигуратор. Пробуйте пример и задавайте вопросы.