# Admin Slots

Admin Slots

# What are the available backend admin slots?

For more information about using backend admin slots please see our article "[How do I inject a view into a backend admin slot?](https://support.aerocommerce.com/link/170)

The following slots can be injected into.

- `app`- `scripts`- `login.header`- `login.form`- `login.footer`- `login.footer`- `catalog.product.new.cards`- `catalog.product.edit.cards`- `catalog.product.new.header.buttons`- `catalog.product.edit.header.buttons`- `catalog.category.new.cards`- `catalog.category.edit.cards`- `orders.order.view.header.buttons`- `orders.order.view.cards.top`- `orders.order.view.cards.middle`- `orders.order.view.cards.bottom`- `orders.order.view.cards.extra.top`- `orders.order.view.cards.extra.info`- `orders.order.view.cards.extra.middle`- `orders.order.view.cards.extra.bottom`- `customer.new.header.buttons`- `customer.new.cards`- `customer.edit.header.buttons`- `customer.edit.cards`- `customer.edit.extra.bottom`- `customer.edit.extra.sidebar`- `catalog.attribute-groups.index.header.buttons`- `catalog.categories.index.header.buttons`- `catalog.collections.index.header.buttons`- `catalog.manufacturers.index.header.buttons`- `catalog.products.index.header.buttons`- `catalog.tag-groups.index.header.buttons`- `content.blocks.index.header.buttons`- `content.combinations.index.header.buttons`- `content.missing-pages.index.header.buttons`- `content.pages.index.header.buttons`- `content.redirects.index.header.buttons`- `customers.groups.index.header.buttons`- `customers.index.header.buttons`- `discounts.edit.cards`- `discounts.edit.extra.sidebar`- `discounts.edit.header.buttons`- `discounts.index.header.buttons`- `discounts.new.cards`- `discounts.new.extra.sidebar`- `discounts.new.header.buttons`- `discounts.vouchers.index.header.buttons`- `orders.index.header.buttons`- `price-lists.index.header.buttons`- `settings.countries.index.header.buttons`- `settings.currencies.index.header.buttons`- `settings.customer-tax-groups.index.header.buttons`- `settings.fulfillment-methods.index.header.buttons`- `settings.mail.index.header.buttons`- `settings.order-statuses.index.header.buttons`- `settings.payment-methods.index.header.buttons`- `settings.price-groups.index.header.buttons`- `settings.product-tax-groups.index.header.buttons`- `settings.shipping-methods.index.header.buttons`- `settings.subscription-plans.index.header.buttons`- `settings.tax-rates.index.header.buttons`- `settings.tax-rules.index.header.buttons`- `settings.users.index.header.buttons`- `configuration.fulfillment-methods.edit.cards`- `configuration.fulfillment-methods.new.cards`- `configuration.shipping-methods.edit.cards`- `configuration.shipping-methods.new.cards`- `orders.fulfillment.edit.extra.info`- `orders.fulfillment.edit.cards`- `orders.fulfillment.edit.extra.sidebar`- `orders.fulfillment.new.extra.info`- `orders.fulfillment.new.cards`- `orders.fulfillment.new.sidebar`- `subscriptions.subscription.view.extra.form`- `subscriptions.subscription.view.cards`- `subscriptions.subscription.view.extra.info`- `subscriptions.subscription.view.extra.sidebar`

# How do I inject a view into a backend admin slot?

Any view you wish to inject into a slot should be defined in a **Service Provider**.

If the code is unique to a particular store it could be placed in the boot method of the **AppServiceProvider**. If it is to be included as part of a module, then it can be added in the setup method of the module's **ServiceProvider**.

When registering the view to be injected into the slot, you must provide the slot name along with the view, for example:

```
<?php

namespace Acme\MyModule;

use Aero\Admin\AdminSlot;
use Aero\Common\Providers\ModuleServiceProvider;

class ServiceProvider extends ModuleServiceProvider
{
    public function setup(): void 
    {
        AdminSlot::inject('catalog.product.edit.cards', 'my-module::admin-slot');
    }
}

```

For advanced cases where additional data needs to be passed into your view, a closure can be used. The closure receives a **$data**parameter that contains the current variables on the page.

```
AdminSlot::inject('catalog.product.edit.cards', function ($data) {
    // add custom variables to the $data array

    return view('my-module::admin-slot', $data);
});

```