суббота, 15 января 2011 г.

Создание модуля расширения (4)

А теперь конкретный пример создания модуля. Я уже описывал, как создать функционал для учета количества просмотра страниц сайта при помощи встроенной C# функции:
Если вкратце, то мы создали глобальный тип данных, в который записывали идентификатор просмотренной страницы и увеличивали счетчик просмотров при каждом открытии страницы в браузере. Запись мы выполняли при помощи встроенной C# функции.

Весь это функционал можно экспортировать в модуль и установить на другом С1 сайте.


Но... В данный момент Package Creator не дает возможность экспортировать встроенные C#  функции, поэтому нам понадобиться создать внешнюю C# функцию, чтобы добавить ее в наш модуль.

Подготовим функционал для экспорта

Давайте быстро создадим нужный нам C# метод (см. Как создать внешний C# метод). Вот некоторые нюансы создания:
  1. В папке App_Code создаем класс, Demo.PageViews.cs
  2. Удаляем содержимое файла и добавляем в него код из этого сообщения.
  3. Переименуем класс и метод:
    1. Строку public static class InlineMethodFunction заменяем на public class PageViews.
    2. Строку public static int PageViews() заменяем на public static int Update()
  4. Сохраняем Demo.PageViews.cs
  5. Добавляем наш метод Demo.PageViews.Update как внешнюю C# функцию в C1:
    1. TypeDemo.PageViews
    2. MethodUpdate
    3. Method NameUpdate
    4. Method NamespaceDemo.PageViews
В результате у нас появится Demo.PageViews.Update уже как C1 функция. А тип данных Demo.PageViews оставляем без изменений.

Создаем модуль Demo.PageViews

Если вы еще не установили Package Creator, установите его.

Создадим модуль-заготовку:
  1. В админке в разделе Package Creator, выбираем узел Packages и в его контекстном меню нажимаем Create Package.
  2. В окне мастера заполняем все поля и нажимаем Next:
  • Name: Demo.PageViews
  • Group nameDemo.PageViews
  • Version: 1.0.0
  • Author: Вася Пупкин, или ваше имя
  • Website: http://localhost/, или ваш сайт
  • Description: Подсчитывает и показывает число просмотров веб-страницы
Не забудьте сделать ваш модуль текущим в Package Creator (Set Active), если он там не один.

Теперь добавим функцию и тип данных в модуль:
  1. В разделе Functions, раскрываем C# functions | Demo | PageViews и выбираем Update.
  2. Вызываем контекстное меню метода и нажимаем Add to the package.
  3. В разделе Data, раскрываем Global datatypes и выбираем Demo.PageViews.
  4. Вызываем контекстное меню типа и нажимаем Add to the package.
  5. В разделе System, раскрываем / | App_Code и выбираем файл Demo.PageViews.cs.
  6. Вызываем контекстное меню файла и нажимаем Add to the package.
А теперь экспортируем модуль:
  1. Выбираем наш модуль Demo.PageViews под узлом Packages в разделе Package Creator.
  2. Вызываем его контекстное меню и нажимаем Download package.
  3. Сохраняем модуль как Demo.PageViews.zip.
Все. Теперь такой модуль можно устанавливать на других сайтах. После установки модуля, нужно будет добавить в шаблон страницы наш метод Demo.PageViews.Update. А наш функционал сделает все остальное.


Сообщения по теме:

Комментариев нет:

Отправить комментарий