Custom Field σε Component
https://manual.joomla.org/docs/general-concepts/forms-fields/example-custom-fields/
Έχει και παράδειγμα - κατέβασε τον κώδικα. Τα έχει στο site frontend αλλά εσύ βάλτα στο backend.
Είναι τα <field που χρησιμοποιούμε στα forms. Κοιτάς στο src/Field και στο forms. Με το renderField στο edit.php το εμφανίζεις.
Μπορείς ακόμα να καλέσεις και αρχείο με WebAssetManager κλπ ή να κάνεις use ένα helper π.χ. ή να τραβήξεις από model πληροφορίες.
Δημιουργία custom πεδίου
Φτιάξε ένα πεδίο δικό σου ή κάνε extend ένα ήδη υπάρχον:
- Δικό σου: κάνεις extend το
FormField - Extend υπάρχοντος: κάνεις extend αυτά που υπάρχουν ήδη π.χ. το
ListFieldτο οποίο κάνει extend τοFormField
Μπορείς να βρεις όλα τα πεδία στο public_html/libraries/src/Form/Field
Παράδειγμα: Χάρτης με lat/long
Π.χ. να παίρνεις το lat/long on click από χάρτη:
- https://stackoverflow.com/questions/13175101/how-to-get-the-lat-long-of-a-clicked-location-using-leaflet-api
- https://leafletjs.com/examples/quick-start/
Πώς δουλεύει
Κάθε πεδίο χρησιμοποιεί την συνάρτηση getInput για να σου δείξει το πεδίο.
Π.χ. το text field στη getInput έχει:
<input type="text">
Εσύ εκεί θα γράψεις τα δικά σου. Και καλό είναι στη __construct με WebAssetManager να φορτώνεις τα αρχεία που θες.