# Slots

# What are the available admin slots?

## Layout Slots

- `styles`
- `banners`
- `app`
- `script`

## Login Slots

- `login.header`
- `login.form`
- `login.footer`

## Sidebar Slots

- `sidebar.menu`
- `sidebar.before`
- `sidebar.after`

## Order Management Slots

### Orders

- `orders.index.headers.buttons`
- `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`
- `orders.order.new.header.buttons`
- `orders.order.new.cards`
- `orders.order.new.extra.sidebar.customer-information`
- `orders.order.new.extra.sidebar.extra-information`
- `orders.order.new.extra.sidebar`
- `orders.order.new.shipping.header.buttons`
- `orders.order.new.shipping.cards`
- `orders.order.new.payment.header.buttons`
- `orders.order.new.payment.cards`
- `orders.order.edit.top`
- `order.returns.new.middle`
- `order.returns.new.cards`
- `orders.items.item.extra.inline`
- `orders.items.item.extra.after`

### Fulfillments

- `orders.fulfillments.index.header.buttons`
- `orders.fulfillments.view.header.buttons`
- `orders.fulfillment.new.extra.info`
- `orders.fulfillment.new.cards`
- `orders.fulfillment.new.cards.extra.top`
- `orders.fulfillment.new.cards.extra.middle`
- `orders.fulfillment.new.sidebar`
- `orders.fulfillment.new.cards.extra.bottom`
- `orders.fulfillment.edit.extra.info`
- `orders.fulfillment.edit.cards`
- `orders.fulfillment.edit.cards.extra.top`
- `orders.fulfillment.edit.cards.extra.middle`
- `orders.fulfillment.edit.sidebar`
- `orders.fulfillment.edit.cards.extra.bottom`

### Subscriptions

- `subscriptions.index.header.buttons`
- `subscriptions.subscription.view.extra.form`
- `subscriptions.subscription.view.cards`
- `subscriptions.subscription.view.extra.info`
- `subscriptions.subscription.view.extra.sidebar`

## Catalog Management Slots

### Products

- `catalog.products.index.header.buttons`
- `catalog.products.deleted.headers.buttons`
- `catalog.product.new.header.buttons`
- `catalog.product.new.alerts`
- `catalog.product.new.cards`
- `catalog.product.new.cards.management`
- `catalog.product.new.cards.attribute`
- `catalog.product.new.after-stock-input`
- `catalog.product.new.pricing`
- `catalog.product.new.inventory`
- `catalog.product.new.shipping`
- `catalog.product.new.status-and-visibility`
- `catalog.product.new.variant`
- `catalog.product.new.cards.variant`
- `catalog.product.new.after-images-card`
- `catalog.product.edit.header.buttons`
- `catalog.product.edit.alerts`
- `catalog.product.edit.cards`
- `catalog.product.edit.cards.management`
- `catalog.product.edit.cards.attribute`
- `catalog.product.edit.after-stock-input`
- `catalog.product.edit.pricing`
- `catalog.product.edit.inventory`
- `catalog.product.edit.shipping`
- `catalog.product.edit.status-and-visibility`
- `catalog.product.edit.variant`
- `catalog.product.edit.cards.variant`
- `catalog.product.edit.after-images-card`

### Manufacturers

- `catalog.manufacturers.index.header.buttons`
- `catalog.manufacturers.new.header.buttons`
- `catalog.manufacturers.new.cards`
- `catalog.manufacturers.edit.header.buttons`
- `catalog.manufacturers.edit.cards`

### Attributes

- `catalog.attribute-groups.index.header.buttons`
- `catalog.attributes.edit.header.buttons`

### Categories

- `catalog.categories.index.header.buttons`
- `catalog.categories.new.cards`
- `catalog.categories.edit.header.buttons`
- `catalog.categories.edit.cards`

### Tags

- `catalog.tag-groups.index.header.buttons`
- `catalog.tags.new.cards`
- `catalog.tags.edit.header.buttons`
- `catalog.tags.edit.cards`

### Collections

- `catalog.collections.index.header.buttons`
- `catalog.collections.new.header.buttons`
- `catalog.collection.new.cards`
- `catalog.collections.edit.header.buttons`
- `catalog.collection.edit.cards`

## Customer Management Slots

### Customers

- `customers.index.header.buttons`
- `customer.new.cards`
- `customer.edit.cards`

### Customer Groups

- `customers.groups.index.header.buttons`
- `customer.groups.new.cards`
- `customer.groups.edit.cards`

## Content Management Slots

### Combinations

- `content.combinations.index.header.buttons`
- `content.combinations.new.header.buttons`
- `content.combinations.new.cards`
- `content.combinations.edit.header.buttons`
- `content.combinations.edit.cards`
- `combinations-form.listing-page-content`
- `combinations-form.listing-page-options`

### Pages

- `content.pages.index.header.buttons`
- `content.page.new.cards`
- `content.pages.edit.header.buttons`
- `content.page.edit.cards`

### Blocks

- `content.blocks.index.header.buttons`

### Missing Pages

- `content.missing-pages.index.header.buttons`

### Redirects

- `content.redirects.index.header.buttons`
- `content.redirects.new.cards`

## Discount Management Slots

### Discounts

- `discounts.index.header.buttons`
- `discounts.new.cards`
- `discounts.new.extra.sidebar`
- `discounts.edit.cards`
- `discounts.edit.extra.sidebar`

### Vouchers

- `discounts.vouchers.index.header.buttons`

### Price Lists

- `price-lists.index.header.buttons`

## Configuration Slots

### Shipping Methods

- `settings.shipping-methods.index.header.buttons`
- `configuration.shipping-methods.new.shipping-rates`
- `configuration.shipping-methods.new.cards`
- `configuration.shipping-methods.edit.shipping-rates`
- `configuration.shipping-methods.edit.cards`

### Fulfillment Methods

- `settings.fulfillment-methods.index.header.buttons`
- `configuration.fulfillment-methods.new.cards`
- `configuration.fulfillment-methods.edit.cards`

### Payment Methods

- `settings.payment-methods.index.header.buttons`

### Order Statuses

- `settings.order-statuses.index.header.buttons`

### Order Status Groups

- `settings.order-status-groups.index.header.buttons`

### Order Return Reason Groups

- `settings.order-return-reason-groups.index.header.buttons`

### Currencies

- `settings.currencies.index.header.buttons`

### Countries

- `settings.countries.index.header.buttons`
- `configuration.countries.new.cards`
- `configuration.countries.edit.cards`

### Country Groups

- `settings.country-groups.index.header.buttons`
- `configuration.country-groups.new.cards`
- `configuration.country-groups.edit.cards`

### Locations

- `settings.locations.index.header.buttons`
- `configuration.locations.new.cards.information`
- `configuration.locations.new.cards`
- `configuration.locations.edit.cards.information`
- `configuration.locations.edit.cards`

### Product Types

- `settings.product-types.index.header.buttons`

### Mail Notifications

- `settings.mail.index.header.buttons`
- `configuration.mail.new.header.buttons`
- `configuration.mail.edit.header.buttons`

### Customer Tax Groups

- `settings.customer-tax-groups.index.header.buttons`

### Product Tax Groups

- `settings.product-tax-groups.index.header.buttons`

### Tax Rates

- `settings.tax-rates.index.header.buttons`

### Tax Rules

- `settings.tax-rules.index.header.buttons`

### Setting Definitions

- `setting-definitions.index.header.buttons`

### Flags

- `settings.flags.index.header.buttons`

### Export Logs

- `settings.export-logs.index.header.buttons`

### Users

- `settings.users.index.header.buttons`
- `configuration.users.new.cards`
- `configuration.users.edit.cards`

# How do I inject into admin slots?

Admin Slots allow you to add content within existing admin pages. The examples below show how to inject a view into the product edit page.

For a simple use case, simply provide a view:

```php
\Aero\Admin\AdminSlot::inject('catalog.product.edit.cards', 'acme::products');
```

For more advanced use cases, instead of passing a view directly, you can provide a callback function:

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

    return view('acme::products', $data);
});
```

<p class="callout info">These injections should typically sit inside the `boot` method of a Service Provider</p>