Stefan Hornburg (Racke) @linuxia.de 16. Deutscher Perl-Workshop, Hannover, 28. März 2013
Shopsoftware Magento Shopware Oxid
PHP Cauldron
Standard Stack Moo Dancer Template::Flute Solr
Custom Stack Moo Dancer Web::Simple Template::Flute Template Toolkit Solr Elastic Search
Interchange6::Schema (Businesslogik) Dancer::Plugin::Interchange6
Interchange6::Schema Übersicht Produkte, Attribute, Preise, Bestand Benutzer, Adressen Warenkorb, Sitzungen Bestellungen, Zahlungen Steuern, Versand (in Arbeit)
Module Ablauf Module Business::Online unterstützt viele Anbieter nicht sehr modern 3D secure, Redirect
Module Ablauf Alternativen AnyMerchant https://metacpan.org/pod/anymerchant keine Entwicklung
Module Ablauf Module Business::Online::I (1&1) Silent CGI Business::Online::FirstData Connect (in Arbeit)
Module Ablauf Order erzeugen $payment_order = $schema >r e s u l t s e t ( Order ) >create (\% payment_data ) ;
Module Ablauf Zahlung erfolgreich Status und Transaktionscode aktualisieren $payment_order >update ( { s t a t u s => success, auth_code => $bop_object >a u t h o r i z a t i o n, } ) ; Bestellung abschließen Email(s) versenden
Module Ablauf Zahlung fehlgeschlagen Status aktualisieren $payment_order >update ( { s t a t u s => f a i l u r e, } ) ;
Keywords Routes Configuration Hooks Dancer::Plugin::Interchange6 Keywords Routes Configuration Hooks
Keywords Routes Configuration Hooks Keywords shop_schema shop_product, shop_address,... $product = shop_product( F0001 ); shop_cart shop_charge shop_setup_routes
Keywords Routes Configuration Hooks Routes Produkt Navigation Warenkorb Checkout Konto
Keywords Routes Configuration Hooks Produkt Produkt Dancer und sku 978-0815-0815 uri Dancer-DBIx-Class
Keywords Routes Configuration Hooks Navigation Kategorien http://www.cart.pm/programming/perl/dancer Produktfilter http://www.cart.pm/programming/perl/dancer/ Author//Sort/price
Keywords Routes Configuration Hooks Fallback Routes any qr {. } => sub { # check f o r matching product... # check f o r matching n a v i g a t i o n... } ; # d i s p l a y not_found page s t a t u s not_found ; forward 404;
Keywords Routes Configuration Hooks Routes Configuration Interchange6 : : Routes : c a r t : template : checkout g i f t i n f o u r i : warenkorb n a v i g a t i o n : template : l i s t i n g records : 20
Keywords Routes Configuration Hooks Hooks hook b e f o r e _ n a v i g a t i o n _ d i s p l a y => sub { my $nav_tokens = s h i f t ; # load l i s t of brands my $brands = shop_ navigat ion >search ( { type => manufacturer, a c t i v e => 1 } ) ; } ; $nav_tokens >{brands } = [ $brands > a l l ] ;
Demo Shop Wireframes https://github.com/interchange/ Interchange6-Demo-Shop HTML (in Arbeit) Flowers hacking shop https://github.com/interchange/flowers
Administration ERP API OpenERP Magento kompatibel TableEditor https://github.com/interchange/tableeditor
Mitarbeit kleines Entwicklerteam Github IRC #interchange freenode #dancer
Infos Slides: http://www.linuxia.de/talks/pws2014/ interchange6-de-beamer.pdf