1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Туториал "hello, world" для MSC:WebSite Engine

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем danilko, 1 ноя 2013.

?

Нужен ли туториал по использованию CMS ?

Голосование закрыто 10 дек 2013.
  1. Да

    3 голосов
    37,5%
  2. Нет, и так все понятно

    5 голосов
    62,5%
  3. Свой ответ(в коменты)

    0 голосов
    0,0%
  1. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    В этом туториале я вам расскажу как сделать свой скрипт "hello world" для CMS "MSC:WebSites Engine".

    Туториал обновлен! Сарый внизу поста под спойлером.


    Начнем, переходим в админку сайта, в менеджере скриптов переходим по ссылке "зарегистрировать новый скрипт" и заполняем поля так:

    поле название: hello, world script
    поле алиас: hello_world
    поле файл: hello

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

    Жмем "Добавить запись в БД", если ещё не нажали.
    Далее переходим к списку скриптов (ссылка над зеленым контейнером) и напротив названия нашего скрипта жмем "редактировать код", открывается сраничка редактирования кода и там уже заранее сгенерированный код, нам лишь остается дописать нужные методы класса. Далее добавляем наш метод, код должен получиться прмерно такой:

    PHP:
    <?php

    class hello_world{

    public function 
    SayHello(){

    return 
    "Hello, world!";

    }

    }

    ?>
    Далее сохраняем исоздаем страничку, содержимое которой будет такое: "[content type='script' name='hello_world' action='SayHello']", теперь сохраняем и переходим на нашу страничку. Здесь вы должны будете получить надпись "hello, world".

    P.s. позже допишу тутор, бежать надо...

    Туториал для версии A.2.0, демка уже есть на форуме(тут), сама A.2.0 выходит в декабре.

    Для написания своего скрипта нужно иметь примерно такой файл

    PHP:
    <?php

    class alias{

    }

    ?>

    ну как видно это просто класс alias, учтите, что при регистрации скрипта в БД его алиас должен совпадать с именем этого самого класса, иначе просто у посетителя будут вылазить ошибки.

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

    Последнее поле, которое нужно заполнить в бд - это поле file, в нем мы указываем название нашего php файла, самое главное стреть расширение файла, иначе тоже будут возникать ошибки буд-то наш файл не существует.
    Ну вот собственно и все, что нужно для "hello word" скрипта.
    PHP:
    <?php

    class hello_world{

    public function 
    SayHello(){

    return 
    "Hello, world!";

    }

    }

    ?>
    А, да, забыл упомянуть, что все содержимое, которое будет вставлено на место тега "<content type='script' name='helloworld'/>" должно возращаться функцией через return, но ни как не выводиться через echo или print.

    Файл назовем hello.php, а к БД пошлем следующий запрос:
    Код:
    INSERT INTO 'scripts' (alias,entry_points,file) VALUES ('hello_world','helloworld|SayHello','hello')
    Ну и на последок проверим как все это работает, активируем входную точку через админку на сайте и создем новую страницу (не важно какую) и вставляем следующее "[content type='script' name='helloworld]'", почему здесь скобки квадратные, а не острые да потому, что в редакторе страниц все теги content оформляются именно так.


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


    Ну вот и все, про взаимодействие с библиотеками напишу позже, а сейчас поэксперементируйте с hello world.


    За работу с БД отвечает библиотека "database", так-что как работать с БД узнаете тоже позже, а если не терпится, то покапайтесь в папке scripts, может чего и найдете :)
    Но подскажу, за библиотеки отвечает класс libs и файл с этим классом лежит на сайте в папке "libs/database.php".
    [/spoier]
    Все вопросы в коменты.
     
    Последнее редактирование: 13 ноя 2013
  2. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    Вата...... Зачем такие сложности.. Сделай автоматическое редактирование/создание файлов... Чтобы регистрация была автоматом!
     
  3. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Ты про регистрацю скриптов, насколько я понял, там будет уставщик расширений, он в процессе разработки пока-что, а пока вот такие махинации приходится проделывать.
     
  4. Killing

    Killing Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    Killing
    Смысл делать тутор, если таких туторов в инете по 100500 штук на каждом сайте
     
  5. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    А до тебя еще не дошло, что это его собственный движок с собственным API, это его проект, он его разработчик :confused:
     
  6. Автор темы
    danilko

    danilko Старожил Пользователь

    Баллы:
    103
    blogger2, я тут подумал как можно упростить обновление скриптов и мне интересно твое мнение.

    Если я уберу регистрацию входных точек и вызывать можно будет любую функцию из любого файла, как на старом ядре CMS, это же будет удобнее и в плане разработки - просто добавил страничку и все.

    И вот отсюда вытекает ещё одно, можно вернуть поддержку скриптов-модулей, то есть переходишь условно по ссылке http://сайт/index.php/module/название_скрипта/функция/ и на месте содержимого будет то, что вернет функция(Тоже в старом ядре было).

    Как думешь сделать ли так или оставить всю эту мешуру из нового ядра?
     
  7. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    Мешура для новичков и нубов? Глупо. Сделай проще ;).
     
    danilko нравится это.

Поделиться этой страницей