Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Последние сообщения
Ответить
1

Сделаем плагин

Ater

  • Атом-мозг
  • Юзер
  • 750
  • Репутация:15 
  • Предупреждения: 0 
  • Регистрация:
    17 Авг 2010
#1
Итак, начал я разбираться с плагинами и встал сразу в кучу проблем.
Ну ладно я нефига не понимаю в пыхе, но так и тестовые плагины так же работают через Ж

а терь все по порядку:
конфиг собрал и вроде он даже работате, просто переработал конфиг из другого плагина

Делаю индекс файл в который запихиваю следующий код:
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
<?php class test {
    public function 
__construct($params) {
    }
    public function 
common($params) {
        
$test='1';

        return 
str_replace('{TEST}'$test$params);
    }
}
?>

Все великолепно, 1 выводится там где мне нужно, но вот в стилях шаблона полный атас...

Каким то раком в body попало куча тегов их head, при этом в head их нету...
У сайта появилась какая то дибильная полоска.

Отключаем плагин и все хорошо.

Итак в связи с этим вопрос, а нельзя ли делать плагин не хуком, а просто как плагин нового функционала? было бы намного проще на данном этапе моей жизни и моего разбора с этим всем.

Если делаем его все же хуком, то какого фига оно мой дизайн переколбашивает...

Добавлено2011.11.08 12-47

я так понимаю что никто не делал плагины и никто не знает...

Все мое имхо...
------
Не флуди и не да зафлудим будешь!

Сашка_из_Шебекино

  • Заклинатель Атома
  • Пользователь
  • 1803
  • Репутация:87 
  • Предупреждения: 0 
  • Регистрация:
    27 Мар 2011
#2
Ater, Drunya делал плагины :)

Ater

  • Атом-мозг
  • Юзер
  • 750
  • Репутация:15 
  • Предупреждения: 0 
  • Регистрация:
    17 Авг 2010
#3
да это понятно что он делал, его плагины даже работают...
но его то тут нету, и помогать некому...
а кроме него походу никто плагины и не делал...

Все мое имхо...
------
Не флуди и не да зафлудим будешь!

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#4
сорри. И так, если есть непонятная полоса вверху, значит файлы не в той кодировке. Делай все в utf-8 без BOM

Добавлено2011.11.12 19-45

Могут быть и другие причины, но эта самая вероятная и распространенная. Конфиг сделать очень просто. Делаем обычный массив, сериализуем и пишем в файл. Вот пример
 1 
 2 
 3 
 4 
 5 
<?php $conf serialize(array(
     
'настройка' => 'значение',
     
'настройка2' => 'значение2',
));
file_put_contents('config.dat'$conf);?>

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

Ater

  • Атом-мозг
  • Юзер
  • 750
  • Репутация:15 
  • Предупреждения: 0 
  • Регистрация:
    17 Авг 2010
#5
в понедельник обязательно проверю, хорошо бы еще понять как сделать перехват и добавление своего кода в перехваченное.

Например сейчасс очень интересует с верхним меню, там где пользователи вход в админку и так далее...

или проще просто написать менюху с 0 и не заморачиваться с перехватом и добавлением :)

p.s. да я просто снипет в модуль запихну и будет красиво, думаецы...

Добавлено2011.11.15 17-29

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

Теперь возник вопрос а как же написать страничку для плагина в админке.
В документации написано очень мало, примеров рабочих нету. Опираться ну совсем не на что...

Помогите кто чем знает

Все мое имхо...
------
Не флуди и не да зафлудим будешь!

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#6
Значит так

-Все файлы в плагине должны быть в кодировке UTF-8 без BOM
-Имя плагина, название класса и сам класс должны быть идентичны. Под именем плагина я подразумеваю папку с ним. Только в папке еще хук.
-Для настройки в админке надо создавать еще один файл в папке с плагином.
Цитата
Для автоматического определения плагина в админке и управления им, необходимо, что бы плагин содержал файл settings.php. В списке плагинов ваш плагин будет отображен в любом случае, но перейти к настройкам и менять их возможно только при наличии этого файла. Управление на этот файл передается по URL /admin/plugins.php?ac=edit&dir=папка_с_плагином. Таким образом, если вы хотите перенаправить пользователя на страницу с параметрами name=dru&sname=dru2, URL будет выглядеть так /admin/plugins.php?ac=edit&dir=папка_с_плагином&name=dru&sname=dru2

Добавлено2011.11.17 18-22

Ну а логика в самом файле settings.php уже мо, тут только ваша фантазия играет роль. На самом деле страница настроек может быть и не одна а их может быть немеряно, если будет что-то типа


 1 
 2 
 3 
 4 
 5 
 6 
<?php if (empty($_GET['pagename'])) $_GET['pagename'] = 'page1';
if (
$_GET['pagename'] === 'page1') {
     echo 
'<a href="' get_url('/admin/plugins.php?ac=edit&dir=папка_с_плагином&pagename=page2') . '">page2</a>';
} else {
     echo 
'<a href="' get_url('/admin/plugins.php?ac=edit&dir=папка_с_плагином&pagename=page1') . '">page1</a>';
}
?>

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

Ater

  • Атом-мозг
  • Юзер
  • 750
  • Репутация:15 
  • Предупреждения: 0 
  • Регистрация:
    17 Авг 2010
#7
я что то все равно не понимаю...

если я в файле settings.php
пропишу код
 1 
 2 
<?php echo 'Супер плагин';?>

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

Все мое имхо...
------
Не флуди и не да зафлудим будешь!

Ater

  • Атом-мозг
  • Юзер
  • 750
  • Репутация:15 
  • Предупреждения: 0 
  • Регистрация:
    17 Авг 2010
#8
аааааа, разобрался, выводит. Вот только выводит не там где по идее должно, а в самом верху страницы...
Вот хрень то хреновая...
Как его засунуть в место указанное на скрине:


Добавлено2011.11.28 22-29

типа опа. Ну так как засунуть то?

Все мое имхо...
------
Не флуди и не да зафлудим будешь!

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#9
секу

Добавлено2011.11.29 12-20

Надо весь контент который хочешь вывести присвоить переменной $output. Эта переменная должна быть глобальной. То есть не внутри функции или класса, а именно общедоступной, говоря по-русски)))

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

Ater

  • Атом-мозг
  • Юзер
  • 750
  • Репутация:15 
  • Предупреждения: 0 
  • Регистрация:
    17 Авг 2010
#10
просто супер, теперь нужно описание хуков...
и можно ли сделать плагин без хука?

Все мое имхо...
------
Не флуди и не да зафлудим будешь!
1
Сейчас online: 185. Зарегистрированных: 1. Гостей: 184.