Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/quickshiftin/mage2-ordered-assets

Order assets (read: css tags) explicitly with an order attribute
https://github.com/quickshiftin/mage2-ordered-assets

css magento2 order

Last synced: 12 days ago
JSON representation

Order assets (read: css tags) explicitly with an order attribute

Awesome Lists containing this project

README

        

# mage2-ordered-assets
Order assets (read: css tags) explicitly with an order attribute

Magento2 has no way to order *assets* out of the box. This extension allows you to specify an *order* attribute in *css* tags in layout XML files and layout updates in the admin UI.

## Installation
### Composer
`composer require quickshiftin/assetorderer`

### Manual
Download the repository and add it in your Magento2 installation under **app/code/Quickshiftin/Assetorderer**

### Magento commands
Once you've installed the code via composer or download, you need to run some Magento commands:

* `bin/magento module:enable Quickshiftin_Assetorderer`
* `bin/magento setup:upgrade`
* `rm -rf var/cache var/di var/generation var/page_cache && bin/magento setup:di:compile`

## Usage
Suppose you want to add a custom CSS file, *css/home.css*, on your homepage. Ordinarilly you would enter this in the layout update editor

```html

```

However, Magento most likely will place the generated *link* tag **before** the base CSS file, thus not honoring the cascade. With the extension installed you can enter the *css* tag with an arbitrary *order* attribute like so

```html

```

Any tags without an explicit order will come as they appear normally (effectively treated like they have an order of 1).

### Unit Tests
To run the unit tests, in a working installation of Magento2, with the extension enabled

* `cp vendor/quickshiftin/assetorderer/phpunit.xml dev/tests/unit`
* `cd dev/tests/unit`
* `php ../../../vendor/phpunit/phpunit/phpunit`