sylius first steps

Sylius ist die eCommerce Lösung für Symfony, das heißt es gibt uns einige mächtige Werkzeuge an die Hand mit dem wir einen Webshop bauen können.

syliusslogan

Die Dokumentation findest du hier: http://docs.sylius.org/en/latest
Da es noch keine Final Version gibt, bewegen wir uns noch im Dev Modus.

composer create-project -s dev sylius/sylius

Am Ende darf man noch ein paar Fragen nach Datenbank, secret und caching beantworten, sowie ein paar login daten für diverse Dienste und schon sind die benötigten Module geladen.

Oder man läuft in einen ersten Fehler hinein.

Could not fetch https://api.github.com/repos/adrianmacneil/omnipay/zipball/4f5e82232161939c0b14f5921c092ed77980d450, enter your GitHub credentials to access private repos

Bei mir hat folgendes funktioniert

wget https://github.com/Sylius/Sylius/archive/master.zip
unzip *.zip
composer update

Und dann Sylius „installieren“:

php app/console sylius:install

Ich hab da noch ein paar Bundles mit denen ich gerne arbeite, die teilweise auch empfohlen werden bei der sylius installation.

friendsofsymfony/rest-bundle suggests installing sensio/framework-extra-bundle (Add support for route annotations and the view response listener)
jms/serializer-bundle suggests installing jms/di-extra-bundle (Required to get lazy loading (de)serialization visitors, ~1.3)
kriswallsmith/assetic suggests installing leafo/lessphp (Assetic provides the integration with the lessphp LESS compiler)

Dafür müssen wir die composer.json bearbeiten und folgendes hinzufügen.

{
    "require": {
        "sensio/framework-extra-bundle": "~2.3",
        "jms/di-extra-bundle": "~1-3",
        "leafo/lessphp": "0.4.0"
    }
}

Jetzt nochmal composer update laufen lassen und die neuen bundles zum Kernel hinzufügen.

$bundles = array(        
...
       new SensioBundleFrameworkExtraBundleSensioFrameworkExtraBundle(),
       new JMSDiExtraBundleJMSDiExtraBundle($this),
       new JMSAopBundleJMSAopBundle(),
    );

Dann noch schnell lessphp konfigurieren, ich lege da am liebsten eine eigene config Datei an.

//app/config/config_own.yml
assetic:
   filters:
       lessphp:
           apply_to: ".less$"
           # Formatter options: compressed, lessjs, classic
           formatter: "compressed"
           preserve_comments: false

//app/config/config.yml
imports:
- { resource: config_own.yml }

Wenn wir jetzt die Seite aufrufen sehen wir ein paar beispiel artikel und ein kleines Kategorie Menü auf einer mehr oder weniger übersichtlichen Webseite.
http://shop.local/app_dev.php/
syliusscreen

Leave a Reply

Your email address will not be published. Required fields are marked *