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, меня тебя не понимать... дал вам исчерпывающий ответ.
<?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.
а как делать свои урлы ?
чтобы отвечали по адресу например /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