wiki:devel:plugin_development_link
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| wiki:devel:plugin_development_link [2025/01/09 23:33] – vladpolskiy | wiki:devel:plugin_development_link [2025/02/21 06:53] (текущий) – [Примеры использования] vladpolskiy | ||
|---|---|---|---|
| Строка 56: | Строка 56: | ||
| =====Файл script.js===== | =====Файл script.js===== | ||
| JavaScript файл с рабочим кодом нашего | JavaScript файл с рабочим кодом нашего | ||
| + | Поскольку пользовательские и плагинные скрипты загружаться при всех запросах, | ||
| + | <code js script.js> | ||
| + | /* JavaScript function to create mylink toolbar in Dokuwiki */ | ||
| + | /* see http:// | ||
| + | |||
| + | /* Путь к папке с иконками для кнопок панели */ | ||
| + | mylink_icobase = " | ||
| + | |||
| + | if(window.toolbar != undefined) { | ||
| + | toolbar[toolbar.length] = { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | }; | ||
| + | } | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | <code css script.js> | ||
| + | /* JavaScript function to create mylink toolbar in Dokuwiki */ | ||
| + | /* see http:// | ||
| + | |||
| + | /* Путь к папке с иконками для кнопок панели */ | ||
| + | mylink_icobase = " | ||
| + | |||
| + | if(window.toolbar != undefined) { // Проверка наличия массива панели инструментов | ||
| + | toolbar[toolbar.length] = { // Кнопка верхнего уровня панели инструментов | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | }; | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | <code css> | ||
| + | в данном случае наш код | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | представляют собою разрезанный код для вывода: | ||
| + | See also: [[ | ||
| + | </ | ||
| + | После редактирования и сохранения с нашим кодом файла script.js, переходим в редактор страниц и видим нашу новую кнопку на панели инструментовЖ | ||
| + | {{: | ||
| + | При нажатии на кнопку проверяем открытие выпадающего списка кнопок и работу кода по выводу нашего текста: | ||
| + | {{: | ||
| + | Проверяем вторую кнопку: | ||
| + | {{: | ||
| + | Мы видим код, который мы разрезали на части в файле script.js | ||
| + | < | ||
| + | See also: [[http:// | ||
| + | </ | ||
| + | Пример вывода на странице нашего кода: | ||
| + | {{: | ||
| + | Ниже вы видите, | ||
| + | [[http:// | ||
| + | See also: [[http:// | ||
| + | Регистрация в программе нашего плагина прошла автоматически, | ||
| + | Просмотрим информацию о плагине в менеджере плагинов: | ||
| + | {{: | ||
| + | Если мы удалим наш проект из lib/plugins и заархивируем нашу папку в формате .zip, то сможем произвести установку плагина через менеджер управления дополнениями: | ||
| + | {{: | ||
| + | |||
| + | =====Перевод плагина на разные языки===== | ||
| + | Заходим в папку нашего проекта и создадим внутри папку lang | ||
| + | {{: | ||
| + | Внутри создадим папки с необходимыми нам языковыми пакетами (в нашем примере это папки: en - англиский и ru - русский)). | ||
| + | {{: | ||
| + | В каждой из папок создадим файл перевода lang.php | ||
| + | {{: | ||
| + | Примерное содержание файлов lang.php для русского и английского переводов: | ||
| + | <code html lang.php> | ||
| + | <?php | ||
| + | /** | ||
| + | * English language file | ||
| + | */ | ||
| + | |||
| + | $lang[' | ||
| + | |||
| + | $lang[' | ||
| + | $lang[' | ||
| + | </ | ||
| + | <code php lang.php> | ||
| + | <?php | ||
| + | /** | ||
| + | * Russian language file | ||
| + | */ | ||
| + | |||
| + | $lang[' | ||
| + | |||
| + | $lang[' | ||
| + | $lang[' | ||
| + | </ | ||
| + | {{tablelayout? | ||
| + | ^ Атрибут | ||
| + | | $lang[' | ||
| + | |$lang[' | ||
| + | |$lang[' | ||
| + | Вносим правки в наш файл script.js | ||
| <code js script.js> | <code js script.js> | ||
| /* JavaScript function to create mylink toolbar in Dokuwiki */ | /* JavaScript function to create mylink toolbar in Dokuwiki */ | ||
| Строка 65: | Строка 198: | ||
| toolbar[toolbar.length] = { | toolbar[toolbar.length] = { | ||
| " | " | ||
| - | " | + | " |
| " | " | ||
| " | " | ||
| " | " | ||
| - | " | + | " |
| " | " | ||
| - | " | + | " |
| - | " | + | " |
| " | " | ||
| - | }, { | + | }, { |
| " | " | ||
| - | " | + | " |
| " | " | ||
| - | " | + | " |
| - | " | + | " |
| " | " | ||
| - | } | + | }, |
| ] | ] | ||
| }; | }; | ||
| } | } | ||
| </ | </ | ||
| + | Переведем Dokuwiki в английский язык и проверим работу нашего плагина при английской локализации: | ||
| + | {{: | ||
| + | И то же самое при установленном русском языке в настройках Dokuwiki | ||
| + | {{: | ||
| + | Работа кода кнопки См. также и вывод в редакторе текста на русском языке | ||
| + | {{: | ||
| + | Пример вывода на страницу | ||
| + | {{: | ||
| + | Примеры работы нашего плагина и вывода наших ссылок на этой странице при английской и русской локализациях: | ||
| + | * [[http:// | ||
| + | * See also: [[http:// | ||
| + | * [[http:// | ||
| + | * См. также: | ||
| + | =====Примеры использования===== | ||
| + | Как мы уже знает, переменные | ||
| + | * open - открывающий тег вики-разметки для вставки | ||
| + | * sample- код php | ||
| + | * close - закрывающий тег вики-разметки для вставки | ||
| + | Соответственно и вставлять мы можем любые шаблоны, | ||
| + | {{: | ||
| + | [[http:// | ||
| + | <code php index.php> | ||
| + | <code css style.css> | ||
| + | <code js script.js> | ||
| - | + | =====Дополнения и Файлы===== | |
| - | [[http://example.com|Link to the original article]]\\ | + | * {{ :wiki: |
| - | See also: [[http://example.com|]] | + | * {{ :wiki:devel: |
| + | * {{ : | ||
wiki/devel/plugin_development_link.1736454821.txt.gz · Последнее изменение: — vladpolskiy
