- Автор темы
- #1
Доброго времени суток. Так как инфы я не нашел по Social Engine 4 для разработчиков хотелось бы сделать не большое вступления для тех кто хочет писать виджеты и модули для Social Engine 4. Честно от себя скажу я жалею что взялся за проект на этом движке. Social Engine 4 построен на Zend Framework , а это означает если вы хотите что то дописать или подправить то вам надо с ним ознакомится Инфи по фреймфорку хватает.
Первый виджет который я рекомендуй написать это Hello world! .
для начала разберемся где что до чего . В корне папки SE4 есть папка Applications в ней есть папки
languages - сразу по названию можно понять что это папка отвечает за языки в ней будут находится папка с названием языков которые установлены на вашем SE4, а внутри них будут находится сами файлы языкове. Название этих файлов соответствует с названиями контролеров модулей виджетов и тд.
libraries - папка в которой находятся библиотека Zend Framework и вспомогательные библиотеки а также PEAR и тд. Для начинающих туда даже лесть не надо.
modules - папка стандартных модулей, а также всех установленных ну и конечно же там где будут находится и ваши. В основном работа ваша будет происходить в этом каталоге.
widgets- папка где находятся виджеты честно сказать это виджеты формальность так как мне не удалось к ним подключить модели что не дало мне возможность нормально работать с API и с БД в том числе.
themes- папка где по логике должны находится темы. Но как бы почти да, но в реалии там находится стили и графика и не более.
остальное нет смысла описывать так как работа с другими каталогами практических на первых парах не придется.
Для начала мы создадим виджет Hello world! на основе модуля user, он есть стандартным. По тому что я написал вы сразу должны сообразить что работать будет в папке Applications/modulees/user/widget/ . Тут мы создаем папку и называем его например myfirstwidget в папке создаем два файла, а именно контроллер и вьюшку
Controller.php - тут сам код результат которого мы будем передавать в View
index.tpl - это View который отвечает за вывод результата.
открываем Controller.php и по принципу Фреймфорка создаем сам контроллер с названием нашего модуля
<?php
class User_Widget_myfirstwidgetController extends Engine_Content_Widget_Abstract {
public function indexAction() {
}
}
User_Widget_ myfirstwidgetController - >User это название модуля, Widget - папка виджет ну и само название модуля. Что бы легче было понять это грубо говоря путь где хранится ваш контроллер.
Дальше пишем
public function indexAction() {
$this->view->hello_world='Hello World!';
}
а в index.tpl пишем
<?php echo $this->hello_world; ?>
В админке заходим в редактор слоев и помещаем наш созданный Виджет
Наслаждаем результатам в дальнейшем могу написать статью по написанию полноценного модуля подключения Ajax , jQuery .
Моя статья, это все мои наработки с которыми столкнулся я, это не означает что все что написано выше, есть истина или полноценный мануал.
Первый виджет который я рекомендуй написать это Hello world! .
для начала разберемся где что до чего . В корне папки SE4 есть папка Applications в ней есть папки
languages - сразу по названию можно понять что это папка отвечает за языки в ней будут находится папка с названием языков которые установлены на вашем SE4, а внутри них будут находится сами файлы языкове. Название этих файлов соответствует с названиями контролеров модулей виджетов и тд.
libraries - папка в которой находятся библиотека Zend Framework и вспомогательные библиотеки а также PEAR и тд. Для начинающих туда даже лесть не надо.
modules - папка стандартных модулей, а также всех установленных ну и конечно же там где будут находится и ваши. В основном работа ваша будет происходить в этом каталоге.
widgets- папка где находятся виджеты честно сказать это виджеты формальность так как мне не удалось к ним подключить модели что не дало мне возможность нормально работать с API и с БД в том числе.
themes- папка где по логике должны находится темы. Но как бы почти да, но в реалии там находится стили и графика и не более.
остальное нет смысла описывать так как работа с другими каталогами практических на первых парах не придется.
Для начала мы создадим виджет Hello world! на основе модуля user, он есть стандартным. По тому что я написал вы сразу должны сообразить что работать будет в папке Applications/modulees/user/widget/ . Тут мы создаем папку и называем его например myfirstwidget в папке создаем два файла, а именно контроллер и вьюшку
Controller.php - тут сам код результат которого мы будем передавать в View
index.tpl - это View который отвечает за вывод результата.
открываем Controller.php и по принципу Фреймфорка создаем сам контроллер с названием нашего модуля
<?php
class User_Widget_myfirstwidgetController extends Engine_Content_Widget_Abstract {
public function indexAction() {
}
}
User_Widget_ myfirstwidgetController - >User это название модуля, Widget - папка виджет ну и само название модуля. Что бы легче было понять это грубо говоря путь где хранится ваш контроллер.
Дальше пишем
public function indexAction() {
$this->view->hello_world='Hello World!';
}
а в index.tpl пишем
<?php echo $this->hello_world; ?>
В админке заходим в редактор слоев и помещаем наш созданный Виджет
Наслаждаем результатам в дальнейшем могу написать статью по написанию полноценного модуля подключения Ajax , jQuery .
Моя статья, это все мои наработки с которыми столкнулся я, это не означает что все что написано выше, есть истина или полноценный мануал.