51

Re: Вопросы по написанию плагинов

как правильнее делать в админке вкладки?
как в mgallery?

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

52

Re: Вопросы по написанию плагинов

>>как правильнее делать в админке вкладки?
какие вкладки ? табы ? http://monstra.org/public/uploads/gallery/plugins.png ?

Сайт Awilum

Поделиться

53

Re: Вопросы по написанию плагинов

да именно это

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

54

Re: Вопросы по написанию плагинов

JINN пишет:

да именно это

откройте файл plugins/mgallery/view/index.view.php и посмотрите. Хотя табы можно делать кучей разных способов, но я решился придерживаться одного кода с другими плагинами

и в офф коде движка также они делаются?

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

55

Re: Вопросы по написанию плагинов

KANekT, да. так как в Монстре используется фреймворк Twitter Bootstrap.

Вся дока по нему тут: http://twitter.github.com/bootstrap/index.html
А конкретно по табам вот тут: http://twitter.github.com/bootstrap/jav … .html#tabs

Сайт Awilum

Поделиться

56

Re: Вопросы по написанию плагинов

да Twitter Bootstrap я использую в работе, но нему объяснять не надо smile

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

57

Re: Вопросы по написанию плагинов

KANekT, меня тебя не понимать... дал вам исчерпывающий ответ.

Сайт Awilum

Поделиться

58

Re: Вопросы по написанию плагинов

<?php News::last(3);?>

наверное потому что этот код вызывается в контексте плагина Pages. То есть на какой то странице плагина Pages у которого естественно срабатывает свой main() метод.

У плагина блога это работает, потому что он работает в контексте плагин Pages. Он не регистрируется как компонент системы.

Тут такая же идеология как и в любом другом фреймворке.

class Pages extends Controller {

public function before() {

}

public function index() {

}

}

выполнится before() метод если в урле запрашивается Pages контроллер.

для

<?php News::last(3);?>

придется делаться $news = new Table('news'); и работать с этим  $news если вы хотите вызывать эту функцию(метод) где угодно, а не только в плагине News.

Сайт Awilum

Поделиться

59

Re: Вопросы по написанию плагинов

а как делать свои урлы ?
чтобы отвечали по адресу например /gallery/deti или /gallery/svadba

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

60

Re: Вопросы по написанию плагинов

Action::add('test_action', 'test_function');

function test_function($str) {
    echo $str;
}

Action::run('test_action', array('str' => 'Hello World'));        

Сайт Awilum

Поделиться

61

Re: Вопросы по написанию плагинов

    // Add actions
    Action::add('admin_themes_extra_index_template_actions','GuestbookAdmin::formComponent');
    Action::add('admin_themes_extra_actions','GuestbookAdmin::formComponentSave');

Это для чего, что-то туплю sad

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

62

Re: Вопросы по написанию плагинов

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

Сайт Awilum

Поделиться

63 (2012-10-29 18:37:49 отредактировано KANekT)

Re: Вопросы по написанию плагинов

Да у меня примерно получается писать плагин smile
что не понятно вот спрашиваю.

Sandbox лучше было если он умел что-то выводить, изменять и сохранять в БД.

то есть эти строчки можно удалить или они обязательны?

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

64

Re: Вопросы по написанию плагинов

JINN пишет:

Sandbox лучше было если он умел что-то выводить, изменять и сохранять в БД.

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

возможно не так выразился. Но мне было бы полезнее именно с примером работы с БД.
будет время сделаю расширенную версию Песочницы smile.

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

65

Re: Вопросы по написанию плагинов

Не получается в select передать данные

$catalog = $fCat->select(null, 'all');
Form::select('cat', $catalog, 'title');

Что не так? как указать нужные столбцы таблицы для построения select

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

66

Re: Вопросы по написанию плагинов

Array ( [0] => Array ( [id] => 1 [uid] => 688302eb3b [title] => 123 [sort] => 234 [url] => 123 ) [1] => Array ( [id] => 2 [uid] => afebc07189 [title] => 345 [sort] => 345 [url] => 345 ) )

и зачем мне такая билеберда?

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

67

Re: Вопросы по написанию плагинов

JINN пишет:
$catalog = $fCat->select(null, 'all');
foreach($catalog as $cat) $array[$cat['id']] = $cat['title'];
Form::select('cat', $array, 'title');

что-то пока лучше ничего не приходит в голову

ну потому я задал вопрос, что не хотел так делать smile
может есть лучшее решение

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

68

Re: Вопросы по написанию плагинов

оставил пока с

foreach($catalog as $cat) $array[$cat['id']] = $cat['title'];

если появиться другое решение исправлю

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

69

Re: Вопросы по написанию плагинов

Все записи и все поля

$pages = new Table('pages');
$pages_list = $pages->select(); 
Debug::dump($pages_list);
Array
(
    [0] => Array
        (
            [id] => 1
            [uid] => ffa3ab3863
            [content] => 
            [slug] => error404
            [robots_index] => index
            [robots_follow] => follow
            [template] => index
            [parent] => 
            [status] => published
            [title] => error404
            [description] => 
            [keywords] => 
            [date] => 1328270400
            [author] => Monstra
        )

    [1] => Array
        (
            [id] => 2
            [uid] => 9c20ad0bf1
            [content] => 
            [slug] => home
            [robots_index] => index
            [robots_follow] => follow
            [template] => index
            [parent] => 
            [status] => published
            [title] => Home
            [description] => 
            [keywords] => 
            [date] => 1333368000
            [author] => Monstra
        )

    [2] => Array
        (
            [id] => 3
            [uid] => df5923b1ca
            [content] => 
            [expand] => 
            [slug] => test
            [template] => index
            [parent] => 
            [status] => published
            [access] => public
            [robots_index] => index
            [robots_follow] => follow
            [title] => Test
            [description] => 
            [keywords] => 
            [date] => 1352216535
            [author] => Monstra
        )

)

Все записи и специфические поля + 2 поля(id, sort)

        $pages = new Table('pages');
        $pages_list = $pages->select(null, 'all', null, array('title', 'slug')); 
        Debug::dump($pages_list);
Array
(
    [0] => Array
        (
            [title] => error404
            [slug] => error404
            [id] => 1
            [sort] => 1
        )

    [1] => Array
        (
            [title] => Home
            [slug] => home
            [id] => 2
            [sort] => 2
        )

    [2] => Array
        (
            [title] => Test
            [slug] => test
            [id] => 3
            [sort] => 3
        )

)

Все записи и специфические поля + 2 поля(id, sort)
Проход по выбранному массиву и сформировать новый специфический.

        $pages = new Table('pages');
        $pages_list = $pages->select(null, 'all', null, array('title', 'slug')); 

        foreach($pages_list as $item) {
            $list[] = $item['slug'];
        }

        Debug::dump($list);
Array
(
    [0] => error404
    [1] => home
    [2] => test
)

Сайт Awilum

Поделиться

70

Re: Вопросы по написанию плагинов

а есть что нить для сохранения файлов?

http://monstra.org/documentation/file-helper

тут не нашел.

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

71

Re: Вопросы по написанию плагинов

Не могу понять как делать свою url, чтобы при (http://foto/First, http://foto/Second) передавалась на управление моему плагину, а не было 404 ошибки.

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

72

Re: Вопросы по написанию плагинов

посмотрите sandbox плагин. в нем передается управление ему по адресу /sandbox

при регистрации плагина используется вот такой параметр 'sandbox'

Сайт Awilum

Поделиться

73

Re: Вопросы по написанию плагинов

да, это понятно, но у меня эти значения добавляются динамически, а не при регистрации плагина.

Смотрел плагин Page как там обрабатывается, пока не совсем понял как сделать также.

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться

74

Re: Вопросы по написанию плагинов

уже где то писал тут: cms (страницы) + блог(посты) либо блог(посты) + страницы

Сайт Awilum

Поделиться

75

Re: Вопросы по написанию плагинов

JINN пишет:

никак. Плагин Pages по умолчанию

а где это прописывается в ядре?

Site | GitHub | Создание форумов/решений на базе PunBB/Monstra/OGMA

Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0

Сайт KANekT

Поделиться