Προσθήκη πρόσθετου
Τα πρόσθετα είναι οι επεκτάσεις που επεκτείνουν τις δυνατότητες του Light Portal. Για να δημιουργήσετε το δικό σας πρόσθετο, απλώς ακολουθήστε τις παρακάτω οδηγίες.
Σημειώσεις
Μπορείτε να χρησιμοποιήσετε το PluginMaker ως βοηθητικό για να δημιουργήσετε τα δικά σας πρόσθετα. Κάντε λήψη και ενεργοποιήστε το στη σελίδα Διαχειριστής -> Ρυθμίσεις πύλης -> Προσθήκες.
Επιλογή του τύπου προσθήκης
Επί του παρόντος, είναι διαθέσιμοι οι ακόλουθοι τύποι προσθηκών:
Τύπος | Περιγραφή |
---|---|
block | Προσθήκες που προσθέτουν έναν νέο τύπο μπλοκ για την πύλη. |
ssi | Προσθήκες (συνήθως μπλοκ) που χρησιμοποιούν συναρτήσεις SSI για την ανάκτηση δεδομένων. |
editor | Προσθήκες που προσθέτουν ένα πρόγραμμα επεξεργασίας τρίτου μέρους για διαφορετικούς τύπους περιεχομένου. |
comment | Προσθήκες που προσθέτουν ένα γραφικό στοιχείο σχολίων τρίτου μέρους αντί για το ενσωματωμένο. |
parser | Προσθήκες που υλοποιούν τον αναλυτή για το περιεχόμενο σελίδων και μπλοκ. |
article | Πρόσθετα για την επεξεργασία του περιεχομένου καρτών άρθρων στην κεντρική σελίδα. |
frontpage | Πρόσθετα για την αλλαγή της κύριας σελίδας της πύλης. |
impex | Πρόσθετα για εισαγωγή και εξαγωγή διαφόρων στοιχείων πύλης. |
block_options , page_options | Προσθήκες που προσθέτουν πρόσθετες παραμέτρους για την αντίστοιχη οντότητα (block ή .page). |
icons | Προσθήκες που προσθέτουν νέες βιβλιοθήκες εικονιδίων για να αντικαταστήσουν στοιχεία διεπαφής ή για χρήση σε κεφαλίδες μπλοκ |
seo | Πρόσθετα που επηρεάζουν κατά κάποιο τρόπο την ορατότητα του φόρουμ στο δίκτυο. |
other | Προσθήκες που δεν σχετίζονται με καμία από τις παραπάνω κατηγορίες. |
Δημιουργία καταλόγου προσθηκών
Δημιουργήστε έναν ξεχωριστό φάκελο για τα αρχεία των προσθηκών σας, μέσα στο /Sources/LightPortal/Plugins
. Για παράδειγμα, εάν η προσθήκη σας ονομάζεται «HelloWorld», η δομή του φακέλου θα πρέπει να μοιάζει με αυτό:
...(Plugins)
└── HelloWorld/
├── langs/
│ ├── english.php
│ └── index.php
├── index.php
└── HelloWorld.php
Το αρχείο «index.php» μπορεί να αντιγραφεί από φακέλους άλλων προσθηκών. Το αρχείο HelloWorld.php
περιέχει τη λογική της προσθήκης:
<?php declare(strict_types=1);
namespace Bugo\LightPortal\Plugins\HelloWorld;
use Bugo\Compat\{Config, Lang, Utils};
use Bugo\LightPortal\Plugins\Plugin;
if (! defined('LP_NAME'))
die('No direct access...');
class HelloWorld extends Plugin
{
// FA icon (for blocks only)
public string $icon = 'fas fa-globe';
// Your plugin's type
public string $type = 'other';
// Optional init method
public function init(): void
{
echo 'Hello world!';
}
// Hookable and custom methods
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Χρήση SSI
Εάν το πρόσθετο χρειάζεται να ανακτήσει δεδομένα χρησιμοποιώντας συναρτήσεις SSI, χρησιμοποιήστε την ενσωματωμένη μέθοδο «getFromSsi(string $function, ...$params)». Ως παράμετρος $function
πρέπει να μεταβιβάσετε το όνομα μιας από τις συναρτήσεις που περιέχονται στο αρχείο SSI.php, χωρίς πρόθεμα ssi_
. Για παράδειγμα:
$data = $this->getFromSSI('topTopics', 'views', 10, 'array');
Χρήση του Composer
Η προσθήκη σας μπορεί να χρησιμοποιεί βιβλιοθήκες τρίτων που έχουν εγκατασταθεί μέσω του Composer. Βεβαιωθείτε ότι το αρχείο «composer.json», το οποίο περιέχει τις απαραίτητες εξαρτήσεις, βρίσκεται στον κατάλογο των προσθηκών. Πριν δημοσιεύσετε την προσθήκη, ανοίξτε τον κατάλογο της προσθήκης στη γραμμή εντολών και εκτελέστε την εντολή: "composer install --no-dev -o". Μετά από αυτό, ολόκληρο το περιεχόμενο του καταλόγου πρόσθετων μπορεί να συσκευαστεί ως ξεχωριστή τροποποίηση για SMF (για παράδειγμα, δείτε το πακέτο PluginMaker).