Πίνακας περιεχομένων
-
Εισαγωγή
-
Κατανόηση της Αρχιτεκτονικής Dolibarr
-
Γιατί να αναπτύξετε προσαρμοσμένες ενότητες;
-
Προετοιμασία του περιβάλλοντος ανάπτυξής σας
-
Ανατομία μιας ενότητας Dolibarr
-
5.1 Ο Περιγραφέας Ενότητας (modMyModule.class.php)
-
5.2 Δομή Καταλόγου
-
5.3 Hooks, Triggers και Δικαιώματα
-
-
Δημιουργώντας την Πρώτη σας Ενότητα Βήμα προς Βήμα
-
6.1 Ονομασία και Αρχικοποίηση
-
6.2 Προσθήκη μενού και δικαιωμάτων
-
6.3 Δημιουργία πινάκων βάσης δεδομένων
-
6.4 Δημιουργία Σελίδων και Διεπαφών
-
6.5 Χειρισμός Φόρμων και Ενεργειών
-
-
Κατανόηση των Hooks και Triggers του Dolibarr
-
Βέλτιστες πρακτικές για την ανάπτυξη ενοτήτων
-
Συσκευασία και Διανομή της Μονάδας σας
-
Χρήση του API Dolibarr στις ενότητες σας
-
Αποσφαλμάτωση, Καταγραφή και Συντήρηση
-
Συνήθεις παγίδες προς αποφυγή
-
Προηγμένες περιπτώσεις χρήσης και ιδέες
-
Συμπέρασμα
-
Πόροι για προγραμματιστές
1. Εισαγωγή
Το Dolibarr ERP & CRM έχει εξελιχθεί σε μια ευρέως υιοθετημένη λύση ανοιχτού κώδικα για τη διαχείριση επιχειρηματικών διαδικασιών, χάρη στην αρθρωτή δομή του και το φιλικό προς τους προγραμματιστές οικοσύστημά του. Ένα από τα μεγαλύτερα πλεονεκτήματά του είναι ότι Οι προγραμματιστές μπορούν να επεκτείνουν τη λειτουργικότητά του μέσω προσαρμοσμένων ενοτήτων—χωρίς τροποποίηση του πυρήνα.
Είτε δημιουργείτε λειτουργίες για εσωτερική χρήση, έργα πελατών ή εμπορική διανομή, η κατανόηση του τρόπου δημιουργίας της δικής σας ενότητας Dolibarr ανοίγει ατελείωτες δυνατότητες. Αυτός ο οδηγός έχει γραφτεί ειδικά για προγραμματιστέςκαι εμβαθύνει στη δομή, τις βέλτιστες πρακτικές και την υλοποίηση προσαρμοσμένων ενοτήτων για το Dolibarr στον πραγματικό κόσμο.
Από τη δημιουργία μιας απλής ενότητας "Hello World" έως πιο προηγμένες λειτουργίες όπως προσαρμοσμένα δικαιώματα, τελικά σημεία REST API και δυναμικά μενού—αυτός ο οδηγός θα σας καθοδηγήσει σε ολόκληρη τη διαδικασία.
2. Κατανόηση της Αρχιτεκτονικής Dolibarr
Πριν γράψετε την πρώτη γραμμή κώδικα, είναι σημαντικό να κατανοήσετε πώς λειτουργεί το Dolibarr στο παρασκήνιοΤο Dolibarr είναι γραμμένο σε PHPκαι ακολουθεί μια αρθρωτή αρχιτεκτονική όπου:
-
Κάθε ενότητα περιέχεται στον δικό της κατάλογο μέσα
/htdocs/custom/or/htdocs/module_name/. -
Οι ενότητες φορτώνονται κατά τον χρόνο εκτέλεσης, με βάση την κατάσταση ενεργοποίησης στο back office.
-
Χρησιμοποιεί α δομή ενός σημείου εισόδου, όπου όλες οι διευθύνσεις URL διατρέχουν
main.inc.phpγια αρχικοποίηση. -
Η διαχείριση της βάσης δεδομένων γίνεται με τη χρήση Ενσωματωμένες λειτουργίες ORM του Dolibarr σαν εσένα”.
dol_sql_insert,dol_sql_updateΚ.λπ. -
Η πρόσβαση των χρηστών διαχειρίζεται μέσω ενός λεπτομερές σύστημα δικαιωμάτων χρησιμοποιώντας τα
user->rightsαντικείμενο.
Οι ενότητες μπορούν να συνδεθούν με υπάρχουσες βασικές λειτουργίες, να προσθέσουν τα δικά τους μενού, να χρησιμοποιήσουν πρότυπα ή να δημιουργήσουν προσαρμοσμένη επιχειρηματική λογική.
3. Γιατί να αναπτύξετε προσαρμοσμένες ενότητες;
Υπάρχουν διάφοροι λόγοι για να δημιουργήσετε τη δική σας ενότητα Dolibarr:
-
Προσαρμοσμένα Χαρακτηριστικά: Υλοποίηση συγκεκριμένων λειτουργιών για μοναδικές ροές εργασίας.
-
Βελτιώστε την αποτελεσματικότηταΑυτοματοποιήστε εργασίες και απλοποιήστε τις διεπαφές για τους τελικούς χρήστες.
-
Ενσωμάτωση δεδομένωνΔημιουργήστε γέφυρες με εξωτερικά API, εργαλεία λογιστικής ή προσαρμοσμένους πίνακες ελέγχου.
-
Μεταπώληση ή Διανομή: Δημοσίευση στο Dolistore ή GitHub για χρήση από άλλους.
-
Διατήρηση δυνατότητας αναβάθμισηςΑποφύγετε την τροποποίηση του πυρήνα, διασφαλίζοντας ότι οι μελλοντικές αναβαθμίσεις του Dolibarr θα είναι ομαλές.
Αντί να παραβιάζουν τον πηγαίο κώδικα (κάτι που διαταράσσει τη συμβατότητα και τη συντηρησιμότητα), οι ενότητες σάς επιτρέπουν να επεκτείνετε το Dolibarr προς τη σωστή κατεύθυνση.
4. Προετοιμασία του περιβάλλοντος ανάπτυξής σας
Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε μια λειτουργική εγκατάσταση ανάπτυξης.
4.1 Απαιτούμενα εργαλεία
-
PHP 7.4–8.x (ανάλογα με την έκδοση Dolibarr που έχετε)
-
MySQL ή MariaDB
-
Apache ή NGINX
-
Ένα τοπικό αναπτυξιακό περιβάλλον (XAMPP, WAMP, MAMP, Docker, κ.λπ.)
-
Git (συνιστάται για έλεγχο έκδοσης)
Θα θελήσετε επίσης ένα καλό πρόγραμμα επεξεργασίας κώδικα ή IDE όπως Κωδικός VS, phpstorm, ή Sublime Κείμενο.
4.2 Συνιστώμενη Ρύθμιση
-
Κλωνοποιήστε την τελευταία σταθερή έκδοση του Dolibarr από το GitHub.
-
Δημιουργήστε έναν εικονικό κεντρικό υπολογιστή που δείχνει προς
/htdocs. -
Αποθηκεύστε την ενότητα σας στο
/htdocs/custom/κατάλογο για να το διαχωρίσετε από τις βασικές ενότητες. -
Ενεργοποιήστε την αναφορά σφαλμάτων στο
php.iniή χρήσηdolibarr_devσταθερές για τον εντοπισμό σφαλμάτων.
4.3 Εργαλεία προγραμματιστών Dolibarr
Εγκατάσταση ή ενεργοποίηση:
-
Δημιουργός ενοτήτων: Μια βοηθητική ενότητα που υποστηρίζει τη βασική δομή μιας νέας ενότητας.
-
Ενότητα Εργαλείων Προγραμματιστή: Προσφέρει πληροφορίες σχετικά με μεταβλητές, hooks και εσωτερικά στοιχεία σελίδας.
-
Μονάδα δημιουργίας προφίλ ιστού (προαιρετικό): Για συγκριτική αξιολόγηση απόδοσης.
5. Ανατομία μιας ενότητας Dolibarr
Η κατανόηση της δομής μιας ενότητας είναι κρίσιμη. Κατ' ελάχιστον, μια ενότητα Dolibarr αποτελείται από:
-
A περιγραφέας ενότητας αρχείο: Ορίζει μεταδεδομένα και λογική ενεργοποίησης.
-
A κατάλογος με υποφακέλους για σελίδες, κλάσεις, πρότυπα και SQL.
-
Προαιρετικός άγκιστρα, πυροδοτεί, να αρχεία γλώσσας.
5.1 Ο Περιγραφέας Ενότητας (modMyModule.class.php)
Κάθε ενότητα ξεκινά με μια κλάση περιγραφέα. Ακολουθεί ένα ελάχιστο παράδειγμα:
Αυτό το αρχείο ενημερώνει το Dolibarr για τον τρόπο εγκατάστασης, ενεργοποίησης και αναγνώρισης της ενότητας σας.
5.2 Δομή Καταλόγου
Ακολουθεί μια βασική δομή φακέλων μιας τυπικής ενότητας:
Μπορείτε να προσθέσετε φακέλους για js, css, tpl (πρότυπο), και lib όπως απαιτείται.
6. Δημιουργία της πρώτης σας ενότητας βήμα προς βήμα
Αυτή η ενότητα σας καθοδηγεί στη δημιουργία μιας λειτουργικής, προσαρμοσμένης ενότητας από την αρχή. Στόχος είναι να σας δοθεί ένας πρακτικός οδικός χάρτης που μπορείτε να προσαρμόσετε στις δικές σας ανάγκες.
6.1 Ονομασία και Αρχικοποίηση
Κάθε ενότητα πρέπει να έχει ένα μοναδικό όνομα και τον αριθμό της ενότητας. Ακολουθήστε τις συμβάσεις ονομασίας για να αποτρέψετε διενέξεις:
-
Χρήση CamelCase για ονόματα κλάσεων και μονάδων (π.χ.,
modMyCustomModule) -
Η δομή του αρχείου πρέπει να αντικατοπτρίζει την ονομασία (π.χ.,
modMyCustomModule.class.phpμέσα στον ριζικό κατάλογο) -
Επιλέξτε ένα μοναδικό
numero(π.χ,104001) δεν χρησιμοποιείται ήδη από άλλες ενότητες
Ενεργοποιήστε την ενότητα σας από Αρχική > Ρύθμιση > Ενότητες/Εφαρμογές αφού το τοποθετήσετε σε /htdocs/custom/.
6.2 Προσθήκη μενού και δικαιωμάτων
Τα μενού Dolibarr προστίθενται στον περιγραφέα χρησιμοποιώντας το $this->menu[] πίνακα. Ακολουθεί ένα παράδειγμα ενός μενού ανώτατου επιπέδου και ενός υπομενού:
Ορίστε δικαιώματα στο ίδιο αρχείο στην ενότητα $this->rights[]:
6.3 Δημιουργία πινάκων βάσης δεδομένων
Το σχήμα βάσης δεδομένων αρχικοποιείται μέσω σεναρίων SQL που τοποθετούνται σε /sql/.
Εγκατάσταση αρχείου SQL: mymodule.sql
Αναφέρετέ το στην περιγραφή σας:
Το Dolibarr θα εκτελέσει αυτόματα αυτό το σενάριο κατά την εγκατάσταση της ενότητας σας.
Για να ενημερώσετε το σχήμα σας σε νεότερες εκδόσεις, προσθέστε αρχεία SQL αναβάθμισης:
6.4 Δημιουργία Σελίδων και Διεπαφών
Δημιουργήστε ένα φάκελο /page/ και προσθέστε την πρώτη σας διεπαφή, π.χ., dashboard.php.
Χρησιμοποιήστε τους βοηθούς UI του Dolibarr όπως:
-
print load_fiche_titre() -
dol_print_date() -
dol_buildpath() -
dol_escape_htmltag()
Το Dolibarr προσφέρει βοηθήματα φόρμας και εργαλεία απόδοσης προβολής αντικειμένων για να διατηρήσει τη συνέπεια με το περιβάλλον χρήστη.
6.5 Χειρισμός Φόρμων και Ενεργειών
Για σελίδες που τροποποιούν ή αποθηκεύουν δεδομένα, το Dolibarr χρησιμοποιεί μια κοινή δομή ελεγκτή.
Στη σελίδα διαχείρισης φορμών σας:
Χρησιμοποιήστε το Dolibarr's GETPOST() και $db->escape() για την αποφυγή ευπαθειών στις ενέσεις.
7. Κατανόηση των Hooks και Triggers του Dolibarr
Το Dolibarr σάς επιτρέπει να επέκταση των βασικών δράσεων με:
-
ωθήσεις (
triggerInterface) -
άγκιστρα (
hookmanager)
7.1 Χρήση εναυσμάτων
Οι εναύσματα ενεργοποιούνται σε συμβάντα συστήματος όπως:
-
BILL_CREATE -
ORDER_VALIDATE -
PRODUCT_DELETE
Δημιουργήστε ένα αρχείο /core/triggers/interface_99_modMyModule_MyTriggers.class.php
Παράδειγμα:
7.2 Χρήση γάντζων
Τα άγκιστρα σάς επιτρέπουν να εισάγετε περιεχόμενο σε υπάρχουσες σελίδες ή διεπαφές.
Παράδειγμα χρήσης στη σελίδα σας:
Αυτό επιτρέπει στην ενότητα σας να συνδέεται με συμβάντα που ενεργοποιούνται από Πυρήνας Dolibarr ή άλλες ενότητες.
8. Βέλτιστες πρακτικές για την ανάπτυξη ενοτήτων
Η ανάπτυξη μιας ενότητας Dolibarr δεν αφορά μόνο τη σύνταξη λειτουργικού κώδικα—αλλά τη σύνταξη καθαρός, συντηρήσιμος και ασφαλής κώδικας που ακολουθεί τις συμβάσεις του Ντόλιμπαρ.
8.1 Ακολουθήστε τις συμβάσεις ονοματοδοσίας
-
Χρησιμοποιήστε πεζά γράμματα για φακέλους, κεφαλαία γράμματα για αρχεία κλάσης.
-
Προσθήκη προθέματος στους πίνακές σας με
llx_και ένα μοναδικό αναγνωριστικό ενότητας. -
Αποφύγετε τις διενέξεις ονομάτων με υπάρχουσες ενότητες ή βασικές λειτουργίες.
8.2 Διαχωρίστε τη λογική από την παρουσίαση
Χρήση:
-
.phpαρχεία in/page/για διεπαφές -
μαθήματα in
/class/για την επιχειρηματική λογική -
Templates in
/tpl/για διάταξη
Η τήρηση της αρχής MVC διευκολύνει την ανίχνευση σφαλμάτων και την κλιμάκωση της ενότητας σας.
8.3 Χρησιμοποιήστε τα Δικαιώματα με Προσοχή
Μην χρησιμοποιείτε σκληρό κώδικα για τη λογική πρόσβασης. Ελέγχετε πάντα:
Παροχή λεπτομερή δικαιώματα για:
-
Ανάγνωση
-
Γραφή
-
Διαγραφή
-
Επικύρωση
Αυτό διασφαλίζει τη συμβατότητα με την αρχιτεκτονική χρήστη/ρόλου του Dolibarr.
8.4 Ασφαλίστε τον SQL και τον χειρισμό εισόδου σας
-
Χρήση
GETPOST()με φίλτρα κατάλληλου τύπου. -
Απολυμάνετε όλα τα αποτελέσματα χρησιμοποιώντας
dol_escape_htmltag()ordol_htmlentities(). -
Χρήση
$db->escape()για τιμές SQL. -
Αποφύγετε τη χρήση ωμού
$_POST,$_GETή τιμές χωρίς διαφυγή.
8.5 Καταγράψτε τον κώδικά σας
-
Συμπεριλάβετε κεφαλίδες PHPDoc σε κλάσεις και συναρτήσεις.
-
Σχολιάστε όλα τα ερωτήματα SQL και τους επιχειρηματικούς κανόνες.
-
Συμπεριλάβετε ένα
README.mdστον φάκελο της ενότητας σας.
9. Συσκευασία και Διανομή της Μονάδας σας
Μόλις η ενότητα σας δοκιμαστεί και είναι έτοιμη, μπορείτε συσκευάστε και μοιραστείτε το με τους άλλους.
9.1 Απαιτούμενα Αρχεία για Διανομή
Συμπεριλαμβάνω:
-
modMyModule.class.php -
Σενάρια SQL (εγκατάσταση και αναβάθμιση)
-
A
README.mdαρχείο με οδηγίες -
Αρχεία γλώσσας σε
/lang/ -
Προαιρετικά: λογότυπο, στιγμιότυπα οθόνης, άδεια χρήσης και αρχείο καταγραφής αλλαγών έκδοσης
9.2 Διανομή στο Dolistore
Dolistore είναι η επίσημη αγορά για τις μονάδες Dolibarr.
Για να υποβάλετε την ενότητα σας:
-
Δημιουργία
.zipαρχείο του φακέλου της ενότητας σας -
Βεβαιωθείτε ότι ακολουθεί τις οδηγίες του Dolibarr πρότυπα δημοσίευσης
-
Παρέχετε τεκμηρίωση, έκδοση συμβατότητας και στοιχεία επικοινωνίας
-
Επιλέξτε μια άδεια χρήσης (προτιμάται το GNU GPL v3)
-
Υποβολή μέσω της διεπαφής προμηθευτή Dolistore
Οι ενότητες μπορούν να διανεμηθούν δωρεάν or εμπορικώς με έλεγχο αδειοδότησης.
10. Χρήση του API Dolibarr στις ενότητες σας
Το Dolibarr περιλαμβάνει ένα REST API που επιτρέπει σε εξωτερικά εργαλεία και εσωτερικές ενότητες να αλληλεπιδρούν μέσω προγραμματισμού.
10.1 Ενεργοποίηση του API
Μετάβαση σε:
Αρχική > Ρύθμιση > Ενότητες > Υπηρεσίες Ιστού (API) και ενεργοποιήστε τη μονάδα.
10.2 Μέθοδοι ελέγχου ταυτότητας
-
Κλειδιά API (ορίζεται ανά χρήστη)
-
OAuth 2.0 (προηγμένη χρήση)
-
Βεβαιωθείτε ότι όλα τα αιτήματα χρησιμοποιούνται
https://yourdomain.com/api/index.php/
10.3 Παράδειγμα Χρήσης API
Ανάκτηση όλων των τρίτων μερών:
10.4 Χρήση του API στην Ενότητά σας
Μπορείτε επίσης να καταναλώνουν εξωτερικά API μέσα στην ενότητα σας:
Χρησιμοποιήστε API για συγχρονισμό δεδομένων με:
-
Πλατφόρμες ηλεκτρονικού εμπορίου (WooCommerce, PrestaShop)
-
Λογιστικά εργαλεία (Xero, QuickBooks)
-
Πλατφόρμες email (SendGrid, Mailchimp)
11. Αποσφαλμάτωση, Καταγραφή και Συντήρηση
Η αποτελεσματική διόρθωση σφαλμάτων βοηθά στη διασφάλιση της σταθερής και έτοιμης για παραγωγή ενότητας.
11.1 Χειρισμός σφαλμάτων
Χρησιμοποιήστε τις ενσωματωμένες συναρτήσεις σφάλματος του Dolibarr:
Καταγραφή προσαρμοσμένων ενεργειών με:
Ενεργοποίηση σύνδεσης conf.php:
11.2 Σταθερές Ανάπτυξης
Χρησιμοποιήστε τα παρακάτω για να αποκαλύψετε σφάλματα:
Πάντα να τα γυρίζετε εκτός παραγωγής.
12. Κοινές παγίδες προς αποφυγή
-
❌ Τροποποίηση βασικών αρχείων – Χρησιμοποιείτε πάντα μονάδες, άγκιστρα και παρακάμψεις.
-
❌ Παράλειψη δικαιωμάτων – Αυτό μπορεί να εκθέσει ευαίσθητα δεδομένα.
-
❌ Αγνοώντας τη συμβατότητα εκδόσεων – Δοκιμάστε την ενότητα σας σε όλες τις υποστηριζόμενες εκδόσεις του Dolibarr.
-
❌ Διαδρομές ή URL με σκληρό κώδικα - Χρήση
DOL_URL_ROOTκαιdol_buildpath(). -
❌ Κακή σχεδίαση SQL – Χρησιμοποιήστε ευρετήρια, ακολουθήστε τις συμβάσεις ονοματοδοσίας και αποφύγετε τις μεγάλες JOIN χωρίς ανάγκη.
13. Προηγμένες περιπτώσεις χρήσης και ιδέες
Μόλις εξοικειωθείτε με τις βασικές ενότητες, εξερευνήστε αυτές τις προηγμένες ιδέες:
13.1 Προσαρμοσμένες γεννήτριες PDF
Δημιουργήστε προσαρμοσμένα έγγραφα (προσφορές, τιμολόγια, ετικέτες) επεκτείνοντας /core/modules/pdf/.
Ορίστε τη δική σας κλάση ως εξής:
13.2 Προσαρμοσμένα μοντέλα αρίθμησης
Προσθέστε εξατομικευμένες μορφές αρίθμησης τιμολογίων ή παραγγελιών χρησιμοποιώντας το /core/modules/xxx/ φάκελο.
13.3 Προγραμματισμένες Εργασίες
Χρήση cron ενότητα για την αυτοματοποίηση διαδικασιών (π.χ., καθημερινά αντίγραφα ασφαλείας, ειδοποιήσεις μέσω email, αναφορές δέσμης).
Καταχωρίστε εργασίες μέσω:
14. Σύναψη
Η δημιουργία της δικής σας ενότητας Dolibarr ανοίγει την πόρτα σε βαθιά προσαρμογή και ισχυρό αυτοματισμό προσαρμοσμένο στην επιχείρησή σας ή τους πελάτες σας. Η αρθρωτή δομή του Dolibarr σάς διασφαλίζει ότι μπορείτε να δημιουργήσετε:
-
Προσαρμοσμένες διεπαφές
-
Εργαλεία εισαγωγής δεδομένων
-
Αυτοματοποίηση ροής εργασιών
-
Λύσεις ενσωματωμένες στο REST
-
Δυναμικές γεννήτριες PDF
-
Πλήρεις λειτουργίες για επιχειρήσεις—χωρίς να αγγίζετε τα βασικά αρχεία
Έχοντας κατά νου τις βέλτιστες πρακτικές, την ασφάλεια και τη συντηρησιμότητα, θα είστε σε θέση να σχεδιάσετε επαγγελματικές ενότητες που κλιμακώνονται με το Dolibarr και προσφέρουν πραγματική αξία.
