Custom Icon in Backend-Plugin

Hallo,

wenn ich im Backend in einem Plugin einen neuen Menüeintrag erstelle… wie kann ich dem ein eigenes Icon geben und nicht eines aus den vorhandenen verwenden? Möchte das Icon des Plugins selbst dort einbinden…

Hab schon rausgefunden, dass ich wohl mit dem Event  Enlight_Controller_Action_PostDispatch_Backend_Index arbeiten muss… aber wie?

Im alten Plugin System hat es so funktioniert:

        $topFolder = $this->createMenuItem(array(
            'label' => 'EurotextTranslationManagerFoldernameDummy',
            'action' => 'index',
            'controller' => 'EurotextTranslationManager',
            'class' => 'ico2\" style=\"background: transparent url(/' . str_replace(Shopware()->DocPath() , '', $this->Path()) . '/Views/backend/eurotext_translation_manager/assets/icons/translationmanager.png)',
            'active' => 1,
            'parent' => $this->Menu()->findOneBy('label', 'Einstellungen'),
            'onclick' => ';' // do nothing
        ));

Ob das im neuen auch noch so funkioniert, kann ich dir leider nicht sagen. Da hab ich das noch nicht probiert.

@arnebecker‍

in deinem Beispiel wird der Menüeintrag in PHP in der Plugin-Basisklasse erzeugt nehme ich an.

Ich arbeite aber mit der menu.xml als Konfigurationsdatei…

Ja genau. Wie beschrieben funktioniert es so im alten Plugin System. Ich dachte, es könnte dir vielleicht als Inspiration dienen. Hat es wohl scheinbar nicht.

Versuch dass doch mal so in das class-Tag in der Menu.xml einzutragen. Vielleicht klappt es ja!

Ansonsten schreibst du es halt einfach so in die Tabelle s_core_menu Spalte class

Hi

 I have a doubt about custom plugins.

there are two ways to implement a plugin

  1. custom/plugins/yourplugin

  2. engine/Shopware/Plugins/Community/Frontend/yourplugin

Which one is best to implement a payment plugin and what is the main advantages of custom plugins

custom is the new plug-in system -> go with that

engine/Shopware/Plugins/… is the old plug-in system, deprecated and will be removed in future versions of shopware

see: Developer Guides

2 „Gefällt mir“

ok thanks for your valuable comments.

I have already developed a plugins( like a path engine/Shopware/Plugins/Frontend).I want implement a plugin in new custom plugin.

what is the advantages of new plug-in system (custom).

Can you explain about that ??

 

I have started to implement a payment plugin with subscription supported, So i have analyzed about AboCommerce/Subscription plugin.
I have a doubt related AboCommerce cron execution,please refer the below points.

below mentioned query to used for recurring order creation

  1.  private function getOrderById($orderId)
        {
            return $this->connection->createQueryBuilder()
                ->select([’*’, ‚ord.id AS orderId‘, ‚payment.id as paymentId‘, ‚shop.id AS shopId‘])
                ->from(‚s_order‘, ‚ord‘)
                ->innerJoin(‚ord‘, ‚s_core_shops‘, ‚shop‘, ‚ord.language = shop.id AND shop.active = 1‘)
                ->leftJoin(‚ord‘, ‚s_core_paymentmeans‘, ‚payment‘, ‚payment.id = ord.paymentID‘)
                ->where(‚ord.id = :id‘)
                ->setParameter(‚id‘, $orderId)
                ->execute()
                ->fetch(\PDO::FETCH_ASSOC);
        }

  2.  $order = $this->getOrderById((int) $abo[‚last_order_id‘]);
            if (empty($order[‚payment_action‘])) {
                $action = ‚aboFinish‘;
                $controller = ‚checkout‘;
            } else {
                $controller = $order[‚payment_action‘];
                $action = ‚recurring‘;
            }

please check the above 2 points the $order[‚payment_action‘] is correct or not ?? Actually the column name having action but they mentioned payment_action.So always called aboFinish action but i need to call a recurring action,if the above points are correct how to adapt the payment_action in my plugin or any other possibilities to call a recurring action.