• Marko

    Il Drago
  • Modificato
  • 200+ Like
  • Reputazione
  • 12.6

Afrux Widget Framework


Installazione

Ricorda che questo è solo un editor di widget per forum, che al momento include 4 widget.

composer require afrux/forum-widgets-core:"*"

Ecco un elenco di widget attualmente compatibili che puoi installare:

Aggiornamento

composer update afrux/forum-widgets-core:"*"
php flarum migrate
php flarum cache:clear

Aggiungi il tuo widget al Framework

Sviluppatori di estensioni che desiderano creare widget con questo piccolo framework, possono leggere le seguenti spiegazioni per registrare un nuovo widget, ricordandosi che se ne può registrare solo uno per estensione.

  1. Aggiungi la dipendenza obbligatoria del framework al file composer.json:

    "require": {
      "flarum/core": "^1.0.0",
      "afrux/forum-widgets-core": "^0.1.0"
    },
  2. Crea il tuo componente nella cartella common/components estendendo il componente Widget del framework.

    import Widget from 'flarum/extensions/afrux-forum-widgets-core/common/components/Widget';
    
    export default class MyWidget extends Widget {
      className() {
        // Classe Css personalizzata.
        // O è possibile utilizzare la classe "AfruxWidgets-Widget--flat" per un widget non contenuto in un blocco.
        // Si prega di evitare uno stile personalizzato forte in modo che appaia coerente in altri temi.
        return 'MyWidget';
      }
    
      icon() {
        // Icona del Widget.
        return 'fas fa-cirlce';
      }
    
      title() {
        // Titolo del Widget.
        // Può essere vuoto per widget senza titolo
        return app.translator.trans('afrux-online-users-widget.forum.widget.title');
      }
    
      content() {
        return (
          <div className="Afrux-OnlineUsersWidget-users">
            // ...
          </div>
        );
      }
    }
  3. Registra il widget nel frontend di admin e forum:

  4. Create un nuovo file registerWidget.js nella cartella common:

    import Widgets from 'flarum/extensions/afrux-forum-widgets-core/common/extend/Widgets';
    
    import MyWidget from './components/MyWidget';
    
    export default function(app) {
      (new Widgets).add({
        key: 'onlineUsers',
        component: MyWidget,
        
        // Può essere una callback booleana.
        // example: () => app.forum.attribute('myCustomExtension.mySetting')
        isDisabled: false,
        
        // È un widget utilizzabile una sola volta? lascia su true se non sei sicuro.
        isUnique: true,
        
        // I seguenti valori sono valori predefiniti che possono essere modificati dall'amministratore.
        placement: 'end',
        position: 1,
      }).extend(app, 'my-extension-id');
    };
  5. Registra il widget nel frontend admin/index.js & forum/index.js:

    import registerWidget from '../common/registerWidget';
    
    app.initializers.add('my-extension-id', () => {
      registerWidget(app);
    });
  6. Se utilizzi typescript:

    "flarum/extensions/afrux-forum-widgets-core/*": ["../vendor/afrux/forum-widgets-core/js/dist-typings/*"]

Puoi anche controllare altri widget di esempio nella repository Afrux su GitHub.

Link

  • Feb 19 2021
  • 191
  • 681
  • 224
  • 17
2 mesi dopo

Adoro sta estensione, è utilissima 😃

  • Marko ha messo mi piace.
  • Marko ha risposto a questo messaggio
  • Sep 27 2021
  • 2
  • 4
  • 5
  • 0
    • Marko

      Il Drago
    • 200+ Like
    • Reputazione
    • 12.6

    Leonardo lo dici a me? ci ho fatto una marea di widget XD

    • Reward 1Reward 2Reward 3Reward 4
    • Feb 19 2021
    • 191
    • 681
    • 224
    • 17

    Ciao, sembra che tu sia interessato a questo post!

    Quando crei un account, potremo ricordare esattamente cosa hai letto, in modo che tu possa riprendere esattamente da dove hai lasciato. Riceverai inoltre notifiche, qui o via email, quando qualcuno ti risponde. Potrai anche mettere "Mi piace" per mostrare il tuo apprezzamento. Clicca sul pulsante qui in basso per creare un account!