How small tool became the start of growth a big marketplace
Ivan Klimchuk, Alroniks Experts
How small tool became the start of growth a big marketplace
Ivan Klimchuk, Alroniks Experts
MODX Belarus
Alroniks Experts
List of categories, list of products, multicategories, sorting by price, list of brands, sorting by brand, related products, product page, rating and reviews...
Cart block on pages, checkout page, order details, email notifies, chat notifies, statuses of order...
Address details, user details, additional cost depending on sizes, weight, distance, should have ability customize logic...
Additional cost if laws allow, customisible logic of processing...
Abilty define unlimited list of options and characteristics, that can be used for search and filtering...
Of course, it's only small part, that can have e-shop,
but the most essentials
Released on 28th of Febrary, 2012
as alternative existing VisionCart and Shopkeeper
Can be extended: Cart, Delivery, Order, Payment
*handler.php
Special MS2 plugins: adding custom fields. MS2 upgrading keeps their in safety
All power of MODX: snippets, plugins, chunks, lexicons and etc.
Approximatly 50 extras in modtore.pro for MiniShop2
bit.do/mschclass CustomCartHandler extends msCartHandler implemets msCartInterface {
public function add($id, $count = 1, $options = array()) {}
public function remove($key) {}
public function change($key, $count) {}
public function clean() {}
public function status($data = array()) {}
public function get() {}
public function set($cart = array()) {}
}
bit.do/msohclass CustomOrderHandler extends msOrderHandler implements msOrderInterface {
public function add($key, $value) {}
public function validate($key, $value) {}
public function remove($key) {}
public function get() {}
public function set(array $order) {}
public function submit() {}
public function clean() {}
public function getCost() {}
}
bit.do/msdhclass CustomDeliveryHandler extends msDeliveryHandler implements msDeliveryInterface {
public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {}
public function error($message = '', $data = array(), $placeholders = array()) {}
public function success($message = '', $data = array(), $placeholders = array()) {}
}
bit.do/msphclass CustomPaymentHandler extends msPaymentHandler implements msPaymentInterface {
public function send(msOrder $order) {}
public function receive(msOrder $order) {}
public function getCost(msOrderInterface $order, msPayment $payment, $cost = 0) {}
public function error($message = '', $data = array(), $placeholders = array());
public function success($message = '', $data = array(), $placeholders = array());
}
ALTER TABLE `modx_ms2_products` ADD `comment` VARCHAR(255) NULL DEFAULT NULL;
ALTER TABLE `modx_ms2_products` ADD INDEX (`comment`);
/core/components/miniShop2/plugins/
/assets/components/miniShop2/plugins/
/core/components/miniShop2/plugins/comment/index.php
/core/components/miniShop2/plugins/comment/model/msproductdata.map.inc.php
/assets/components/miniShop2/plugins/comment/msproductdata.js
// /core/components/miniShop2/plugins/comment/index.php
return array(
'xpdo_meta_map' => array(
'msProductData' => require_once dirname(__FILE__)
.'/model/msproductdata.map.inc.php'
),
'manager' => array(
'msProductData' => MODX_ASSETS_URL
. 'components/minishop2/plugins/comment/msproductdata.js'
)
);
// /core/components/minishop2/plugins/comment/model/msproductdata.map.inc.php
return [
'fields' => ['color' => NULL],
'fieldMeta' => [
'comment' => [
'dbtype' => 'varchar', 'precision' => '255', 'phptype' => 'string',
'null' => true, 'default' => NULL
]
],
'indexes' => [
'comment' => [
'alias' => 'comment', 'primary' => false, 'unique' => false, 'type' => 'BTREE',
'columns' => ['comment' => ['length' => '', 'collation' => 'A', 'null' => false])
]
]
);
// /assets/components/minishop2/plugins/comment/msproductdata.js
miniShop2.plugin.comment = {
getFields: function(config) {
return {
comment: { xtype: 'textfield', fieldLabel: 'Comment' }
}
},
getColumns: function() {
return {
comment: { width:50, sortable: false, editor: {
xtype:'textfield', name: 'comment'}
}
}
}
};
Vasiliy promised anounce version 3 in MODX Meetup Minsk
on 19th December.
I hope in future each store will growth to real marketplace.
It's have to impact, but give awesome results.
For paid extras average commision is 30%.
Store guarantee support only for paid extras.
Now: Revenue grew 10 times, mSearch2 still in top, 25 authors