Утилита "Генератор плагина"

+43
2.39K
Посвящение. Эту утилиту я посвящаю одной моей знакомой, которую зовут Варвара.
В полку утилит (и генераторов тоже) прибыло! Встречайте: новая утилита "Генератор плагина". У кодеров Инстанта появилась еще одна удобная фича. Надеюсь, вы оцените удобство. Эта утилита создает готовую (и уже сразу рабочую!!!) заготовку плагина, освобождая вас от нудной рутины. Теперь вы больше времени сможете посвятить творчеству!


Постановка задачи

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

С той поры прошло около половины года. Теперь такие планы появились. А появившись — реализовались в данной утилите.

Несколько слов о безопасности

После появления первых Генераторов я получил шквал критики, что код этих утилит небезопасен на предмет действий злоумышленников. Это действительно так. Все мои утилиты не содержат никаких защитных функций, не проверяют введенные данные на корректность (защита от дурака) и т.д. Однако я никак не могу представить себе ситуацию (ну никак!) что админ будет злоумышлять против собственного сайта!

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

Таким образом, если вам хочется позабавиться, вводя всякую фигню, можете позабавиться — это же ваш сайт! То же самое, что из любопытства отрезать себе палец: что будет? Я вам скажу, даже не отрезая себе пальцев: вам будет очень больно. Это же ваш палец.

Например, бензопилой можно напилить дров. Если сунуть под зубья палец, она отпилит палец. Однако, человек, отпиливший себе палец или руку, окажется дураком сам, а не бензопила или производитель бензопилы. Так же и здесь. Если Вы обрушите свой сайт моей утилитой, вводя всякую ерунду — виноваты будете вы сами. Если Вы оставили утилиту в корне удаленного сайта, после того, как закончили с ней работать — виноваты будете Вы сами. Нечего оставлять работающую бензопилу без присмотра, где играют дети. Поработали — удалите утилиту! Напилили дров — выключайте бензопилу!

ПОМНИТЕ!
Утилита — НЕ является готовым файлом, предназначенным для заливки на Ваш сайт. Это рабочий инструмент кодера — и только!

Зато файлы, которые утилита генерирует, соответствуют всем текущим требованиям Инстанта. Вы можете открыть эти файлы редактором и убедится, что это так. Да что там можете — вам все равно придется это сделать, чтобы наполнить файлы действиями! Ведь утилита генерирует просто работоспособную "болванку"!

Использование утилиты

1. Распакуйте архив в любое место. В архиве два файла — сама утилита generator_plugin.php и подробная инструкция generator_plugin.txt.

2. Прочитайте инструкцию. Там сказано, как подключать плагин. Вам придется открыть редактором файлы компонента или модуля, куда следует прикрутить плагин. Затем найдите точку подключения — переменную или массив, которую вы будете модифицировать СВОИМ плагином. В это место кода вы должны поставить ловушку, строчку вроде
  1. $item = cmsCore::callEvent('SET_HOOK', $item);
Здесь $item — имя переменной, которая подлежит модификации плагином, а SET_HOOK имя ловушки, или событие, по которому ваш плагин вызывается. Имя SET_HOOK или подобное Вы присваиваете ловушке сами. Оно вам понадобится в дальнейшем.

3. Загрузите файл generator_plugin.php в корень сайта. В браузере наберите имя_сайта.ru/generator_plugin.php и нажмите Enter. Откроется моя утилита с кошмарным дизайном. Дизайн таким ужасным сделал специально, чтобы Вы не любовались на него, а скорей заканчивали работу с Генератором и удаляли его с сайта!

4. Заполните все поля. Особое внимание обратите на пункт 6 утилиты, где вводятся пары вроде SET_HOOK — eventSetHook. Этих пар столько, сколько действий вы для своего плагина запланировали (и, естественно, сколько ловушек Ваш плагин должен будет обработать). Придумайте имена этим парам заранее! Первое имя — это имя ловушки, которое вы уже должны были вставить в код компонента/модуля, второе имя — это имя метода в плагине, который и будет обрабатывать событие, то есть модернизировать содержание переменной $item в компоненте или модуле. Тут все зависит от вашего мастерства программирования.

Если вы планируете плагину два, три, или больше действий, утилита сгенерирует вам столько методов, сколько вы захотите. Для этого просто нажмите на надпись "Добавить пару ловушка-метод" и вводите имена следующих пар. Если вы погорячились или передумали, количество пар можно уменьшить, нажав на надпись "Убрать последнюю пару"

5. Когда вы заполнили все поля, нажмите на кнопку "Создать плагин". Если плагина с таким именем нет на сайте, плагин будет создан. Если такой плагин уже есть, утилита откажется что-либо делать и попросит вас повторить.

Кнопка "Очистить форму" служит для очистки формы от всех данных. Могли бы и сами догадаться.

6. Если плагин создался, идите в админку, устанавливайте, включайте, делайте настройку и проверяйте.

7. Удалите утилиту из корня сайта.

8. Теперь приступайте к творчеству: открывайте код плагина редактором и пишите! Удачи в программировании.

Настройки

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

Дизайн

Он намеренно сделан омерзительным — нечего на него любоваться! Поработали — удаляйте утилиту.

Как скачать.

Скачать можно из моего профиля, бесплатно, то есть даром.

Куда говорить спасибо

яд 410011913797936
wmr 342960323367
Олег Васильевич я Олег Васильевич я 10 лет назад #
Комментарий удален
+10
Странник Странник 10 лет назад #
я подумаю))))
+1
Imran Imran 10 лет назад #
генератор полного сайта shock
+1
Imran Imran 10 лет назад #
убили laugh
+1
Странник Странник 10 лет назад #
да ну, это же была шутка)))
хотя где-то я генератор пользователей для инстанта видел. набивает базу фиктивными пользователями, только зачем это нужно, не пойму. тоже прикололся кто-то.
0
Imran Imran 10 лет назад #
как говориться "в каждой шутке ...." ))
Если исходит из того, что сайт - есть n-ое количество страниц то в полне реально создать генератор страниц, претендовать на название сайта конечно не будет, но в этом что то есть scratch
+1
Imran Imran 10 лет назад #
p.s
шутку Олег Васильевич я я понял, просто смайлик ни тот поставил crazy
+1
Ганс Ганс 10 лет назад #
генератор титульных знаков wmz love
0
Странник Странник 10 лет назад #
этой шутки точно не поймут)))
+2
nedoriko nedoriko 10 лет назад #
Молодец. Хоть я ниче и непонял но видно сразу что для тех кто понял это нужная штука
+3
Странник Странник 10 лет назад #
Сообщаю всем, что файл generator_plugin.php содержит небольшую ошибку в 4 пункте, описании поля "Автор". Вместо "Введите описание создаваемого плагина (поле author таблицы cms_plugins):" следует читать "Введите имя автора создаваемого плагина (поле author таблицы cms_plugins):".

На функциональность уже скачанного генератора эта ошибка никак не влияет. Я уже внес исправление в файл, поэтому всем, кто у меня этот генератор уже скачал, рекомендую скачать его заново.

*ворчит себе под нос* Удивительно, что до сих пор не заметили. Пока не начал создавать плагин себе, с помощью своей же утилиты, так и не видел, поскольку глаза "замылились"! Но вы то все чего?
+2
Странник Странник 9 лет назад #
Сегодня я обнаружил в своем Генераторе плагина досадную неточность в генерируемом коде. На функционал сотворенного плагина эта неточность влияет мало, но нет пути совершенству))))
Рекомендую всем скачать исправленную версию (заменил в основной статье).
Удачи в программировании.
0
Vyacheslav Vyacheslav 9 лет назад #
Из нового каталога не качается, на 404 ошибку уводит. Из профиля качается.
Firefox.
0
Странник Странник 8 лет назад #
Сссылку на аддонах поправил, теперь качается.

Еще от автора

Адаптация компонента "Закладки" от 19 января 2011 к коробочной версии 1.10.7
На форуме появилась тема с пожеланиями адаптировать довольно старый компонент "Instant Bookmarks" Fuze к современным реалиям.
Утилита "Садовод" для версии InstantCMS 1.10.7.008
В этой краткой заметке описывается утилита "Садовод" для ремонта деревьев версии InstantCMS 1.10.7.008.
Изменение компонента "Баннеры" для будущей  версии 1.10.7.008
Данная статья рассказывает всем ждущим новую версию 008, что нового ожидается в будущем релизе версии 1.10.7.008.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.