WikiPrint - from Polar Technologies

Przewodnik wdrożeniowca > Konfiguracja Custom Widgets /Pluginu

Wprowadzenie

W systemie eDokumenty istnieje możliwość definiowania własnych przycisków na pasku tzw. pluginów lub custom widgets - tzw. toolbarze. W obecnej chwili funkcjonalność ta jest obsługiwana tylko w modułach Dokumenty oraz Klienci.

Tworzenie własnego przycisku

Wszelkie informacja odnośnie dodatków są przechowywane w tabeli custom_widgets, która zawiera 9 kolumn. Zanim jednak wprowadzimy dane do tabeli należy przygotować skrypt oraz ikonę dla przycisku, który ten skrypt będzie uruchamiał.

Tworzenie skryptu

Skrypt ma postać pliku z rozszerzeniem .inc (np. Test.inc). Jest to klasa zapisana przy pomocy języka PHP. Listing przykładowej klasy został umieszczony poniżej:

<?php

final class Test {



    public static function init() {

        // wyświetla monit eDokumentowy
        JScript::alert(Translator::translate('Witaj to ja Twój plugin'));

        // wyświetla monit JavaScriptowy alert
        JScript::add('alert(666)');        

    }

}

print_r($args);

Test::init();

?>

Jak widać powyżej w skrypcie można wykorzystywać także język JavaScript. Jednakże należy mieć na uwadze, że błędny lub szkodliwy skrypt może wpłynąć negatywnie na stabilność systemu !!!

Utworzony skrypt umieszczamy w katalogu public_html/apps/edokumenty/scripts

Przygotowanie grafiki/ikony

Ikona musi mieć rozmiar 24x24px formta np. png i być umieszczona w katalogu: public_html/framework/img/toolbarIcons/24x24/.

Wstawianie danych do tabeli custom_widgets

Kolumny:

image - ikona z katalogu framework/img/toolbarIcons/24x24/ nazwa ikony musi być poprzedzona 24x24\/nazwa.rozszerzenie.

Przekazywane są zaznaczone elementy z listy pod kluczami contid dla Klientów albo doc_id dla zaznaczonych dokumentów z modułu Dokumenty.

Szczegóły techniczne co i jak kodować do programistów.

Uprawnienia

Domyślnie wszystcy widzą dodatkowy przycisk. Ograniczone jest realizowane poprzez tabelę access (http://support.edokumenty.eu/trac/wiki/DeployerGuide/Others/SettingRightsForFields)