Re: Вопросы по написанию плагинов
как правильнее делать в админке вкладки?
как в mgallery?
Плагины распространяются по Creative Commons Attribution-NonCommercial 3.0
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Монстра → Разработка → Вопросы по написанию плагинов
как правильнее делать в админке вкладки?
как в mgallery?
>>как правильнее делать в админке вкладки?
какие вкладки ? табы ? http://monstra.org/public/uploads/gallery/plugins.png ?
да именно это
да именно это
откройте файл plugins/mgallery/view/index.view.php и посмотрите. Хотя табы можно делать кучей разных способов, но я решился придерживаться одного кода с другими плагинами
и в офф коде движка также они делаются?
KANekT, да. так как в Монстре используется фреймворк Twitter Bootstrap.
Вся дока по нему тут: http://twitter.github.com/bootstrap/index.html
А конкретно по табам вот тут: http://twitter.github.com/bootstrap/jav … .html#tabs
да Twitter Bootstrap я использую в работе, но нему объяснять не надо
KANekT, меня тебя не понимать... дал вам исчерпывающий ответ.
наверное потому что этот код вызывается в контексте плагина Pages. То есть на какой то странице плагина Pages у которого естественно срабатывает свой main() метод.
У плагина блога это работает, потому что он работает в контексте плагин Pages. Он не регистрируется как компонент системы.
Тут такая же идеология как и в любом другом фреймворке.
class Pages extends Controller { public function before() { } public function index() { } }
выполнится before() метод если в урле запрашивается Pages контроллер.
для
придется делаться $news = new Table('news'); и работать с этим $news если вы хотите вызывать эту функцию(метод) где угодно, а не только в плагине News.
а как делать свои урлы ?
чтобы отвечали по адресу например /gallery/deti или /gallery/svadba
Action::add('test_action', 'test_function'); function test_function($str) { echo $str; } Action::run('test_action', array('str' => 'Hello World'));
// Add actions Action::add('admin_themes_extra_index_template_actions','GuestbookAdmin::formComponent'); Action::add('admin_themes_extra_actions','GuestbookAdmin::formComponentSave');
Это для чего, что-то туплю
KANekT, sandbox плагин посмотрите. там все самые основы. это добавляет формочку и обработку этой формочки на страницу менеджера тем. Для смены индивидуального шаблона плагина.
Да у меня примерно получается писать плагин
что не понятно вот спрашиваю.
Sandbox лучше было если он умел что-то выводить, изменять и сохранять в БД.
то есть эти строчки можно удалить или они обязательны?
Sandbox лучше было если он умел что-то выводить, изменять и сохранять в БД.
не лучше. это все можно посмотреть и в других плагинах, а сандбокс используется как "болванка" нового плагина. Не во всех плагинах испльзуется БД
возможно не так выразился. Но мне было бы полезнее именно с примером работы с БД.
будет время сделаю расширенную версию Песочницы .
Не получается в select передать данные
$catalog = $fCat->select(null, 'all'); Form::select('cat', $catalog, 'title');
Что не так? как указать нужные столбцы таблицы для построения select
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 ) )
и зачем мне такая билеберда?
$catalog = $fCat->select(null, 'all'); foreach($catalog as $cat) $array[$cat['id']] = $cat['title']; Form::select('cat', $array, 'title');что-то пока лучше ничего не приходит в голову
ну потому я задал вопрос, что не хотел так делать
может есть лучшее решение
оставил пока с
foreach($catalog as $cat) $array[$cat['id']] = $cat['title'];
если появиться другое решение исправлю
Все записи и все поля
$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 )
а есть что нить для сохранения файлов?
http://monstra.org/documentation/file-helper
тут не нашел.
Не могу понять как делать свою url, чтобы при (http://foto/First, http://foto/Second) передавалась на управление моему плагину, а не было 404 ошибки.
посмотрите sandbox плагин. в нем передается управление ему по адресу /sandbox
при регистрации плагина используется вот такой параметр 'sandbox'
да, это понятно, но у меня эти значения добавляются динамически, а не при регистрации плагина.
Смотрел плагин Page как там обрабатывается, пока не совсем понял как сделать также.
уже где то писал тут: cms (страницы) + блог(посты) либо блог(посты) + страницы
никак. Плагин Pages по умолчанию
а где это прописывается в ядре?
Монстра → Разработка → Вопросы по написанию плагинов
Форум работает на PunBB, при поддержке Informer Technologies, Inc