Version Notes
Initial release
Download this release
Release Info
Developer | EasyAds |
Extension | Marktfeed |
Version | 0.0.1 |
Comparing to | |
See all releases |
Version 0.0.1
- app/code/community/Marktfeed/Api/Block/Adminhtml/System/Config/Fieldset/Hint.php +14 -0
- app/code/community/Marktfeed/Api/Block/System/Config/Form/Field/State.php +21 -0
- app/code/community/Marktfeed/Api/Helper/Data.php +8 -0
- app/code/community/Marktfeed/Api/Model/Access.php +102 -0
- app/code/community/Marktfeed/Api/Model/Api.php +87 -0
- app/code/community/Marktfeed/Api/controllers/ConfigController.php +29 -0
- app/code/community/Marktfeed/Api/etc/api.xml +50 -0
- app/code/community/Marktfeed/Api/etc/config.xml +69 -0
- app/code/community/Marktfeed/Api/etc/system.xml +46 -0
- app/design/adminhtml/default/default/template/marktfeed/system/config/fieldset/hint.phtml +8 -0
- app/etc/modules/Marktfeed_Api.xml +9 -0
- app/locale/nl_NL/Marktfeed_Api.csv +9 -0
- package.xml +37 -0
- skin/adminhtml/default/default/images/marktfeed/connected.png +0 -0
- skin/adminhtml/default/default/images/marktfeed/disconnected.png +0 -0
- skin/adminhtml/default/default/images/marktfeed/logo-marktfeed.png +0 -0
app/code/community/Marktfeed/Api/Block/Adminhtml/System/Config/Fieldset/Hint.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Marktfeed_Api_Block_Adminhtml_System_Config_Fieldset_Hint
|
4 |
+
extends Mage_Adminhtml_Block_Abstract
|
5 |
+
implements Varien_Data_Form_Element_Renderer_Interface
|
6 |
+
{
|
7 |
+
protected $_template = 'marktfeed/system/config/fieldset/hint.phtml';
|
8 |
+
|
9 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
10 |
+
{
|
11 |
+
return $this->toHtml();
|
12 |
+
}
|
13 |
+
}
|
14 |
+
|
app/code/community/Marktfeed/Api/Block/System/Config/Form/Field/State.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Marktfeed_Api_Block_System_Config_Form_Field_State extends Mage_Adminhtml_Block_System_Config_Form_Field
|
3 |
+
{
|
4 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
5 |
+
{
|
6 |
+
$guid = Mage::getStoreConfig("marktfeed/api/register_guid", 0);
|
7 |
+
$name = Mage::getStoreConfig("marktfeed/api/register_name", 0);
|
8 |
+
|
9 |
+
$style = '<style type="text/css">#row_marktfeed_api_state .scope-label {display:none;}</style>';
|
10 |
+
|
11 |
+
if ($guid == "" || !Mage::getModel('marktfeed_api/access')->allExists()) {
|
12 |
+
|
13 |
+
$url = Mage::helper('adminhtml')->getUrl('admin_marktfeedapi/config/connect');
|
14 |
+
return '<img style="float:left;margin: 1px 5px 0 0;" src="'.$this->getSkinUrl('images/marktfeed/disconnected.png').'"/><a style="float:left;width:275px;" target="_blank" href="' . $url . '">' . $this->__('Disconnected, click to connect') . '</a><div style="clear:both;width:1px;height:1px;overflow:hidden;font-size:1px;"> </div>'.$style;
|
15 |
+
} else {
|
16 |
+
|
17 |
+
$url = Mage::helper('adminhtml')->getUrl('admin_marktfeedapi/config/disconnect');
|
18 |
+
return '<img style="float:left;margin: 1px 5px 0 0;" src="'.$this->getSkinUrl('images/marktfeed/connected.png').'"/> <a style="float:left;width:275px;" target="_blank" href="' . $url . '">' . $this->__("Connected with account '%s',<br/>click to disconnect", $name) . '</a><div style="clear:both;width:1px;height:1px;overflow:hidden;font-size:1px;"> </div>'.$style;
|
19 |
+
}
|
20 |
+
}
|
21 |
+
}
|
app/code/community/Marktfeed/Api/Helper/Data.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Marktfeed_Api_Helper_Data extends Mage_Core_Helper_Data
|
3 |
+
{
|
4 |
+
public function getExtensionVersion()
|
5 |
+
{
|
6 |
+
return (string) Mage::getConfig()->getNode()->modules->Marktfeed_Api->version;
|
7 |
+
}
|
8 |
+
}
|
app/code/community/Marktfeed/Api/Model/Access.php
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Marktfeed_Api_Model_Access {
|
3 |
+
|
4 |
+
private $username = "Marktfeed";
|
5 |
+
private $rolename = "Marktfeed";
|
6 |
+
|
7 |
+
public function allExists() {
|
8 |
+
|
9 |
+
return ($this->userExists() && $this->roleExists());
|
10 |
+
}
|
11 |
+
|
12 |
+
public function createUser() {
|
13 |
+
|
14 |
+
//chars
|
15 |
+
$chars = Mage_Core_Helper_Data::CHARS_PASSWORD_LOWERS
|
16 |
+
. Mage_Core_Helper_Data::CHARS_PASSWORD_UPPERS
|
17 |
+
. Mage_Core_Helper_Data::CHARS_PASSWORD_DIGITS;
|
18 |
+
|
19 |
+
//generate new API key
|
20 |
+
$api_key = Mage::helper('core')->getRandomString(24, $chars);
|
21 |
+
|
22 |
+
//create user
|
23 |
+
$userapi = $this->getUser();
|
24 |
+
if (!$userapi->getId()) {
|
25 |
+
$userapi = Mage::getModel('api/user')->setData(array(
|
26 |
+
'username' => $this->username,
|
27 |
+
'firstname' => $this->username,
|
28 |
+
'lastname' => 'API',
|
29 |
+
'email' => 'api@marktfeed.nl',
|
30 |
+
'api_key' => $api_key,
|
31 |
+
'api_key_confirmation' => $api_key,
|
32 |
+
'is_active' => 1));
|
33 |
+
$userapi->save();
|
34 |
+
} else {
|
35 |
+
$userapi->setApiKey($api_key);
|
36 |
+
$userapi->setApiKeyConfirmation($api_key);
|
37 |
+
$userapi->setIsActive(1);
|
38 |
+
$userapi->save();
|
39 |
+
}
|
40 |
+
|
41 |
+
//
|
42 |
+
$userapi->setRoleIds(array($this->getRole()->getId())) // your created custom role
|
43 |
+
->setRoleUserId($userapi->getUserId())
|
44 |
+
->saveRelations();
|
45 |
+
|
46 |
+
//return credentials
|
47 |
+
return array(
|
48 |
+
"api_key" => $api_key,
|
49 |
+
"username" => $this->username);
|
50 |
+
}
|
51 |
+
|
52 |
+
public function userExists() {
|
53 |
+
|
54 |
+
return ($this->getUser()->getId() != false);
|
55 |
+
}
|
56 |
+
|
57 |
+
public function createRole() {
|
58 |
+
|
59 |
+
//create role when not exists
|
60 |
+
if (!$this->roleExists()) {
|
61 |
+
$role = Mage::getModel('api/roles')
|
62 |
+
->setName($this->rolename)
|
63 |
+
->setPid(false)
|
64 |
+
->setRoleType('G')
|
65 |
+
->save();
|
66 |
+
}
|
67 |
+
|
68 |
+
//attach rule to role
|
69 |
+
Mage::getModel("api/rules")
|
70 |
+
->setRoleId($this->getRole()->getId())
|
71 |
+
->setResources(array('all'))
|
72 |
+
->saveRel();
|
73 |
+
}
|
74 |
+
|
75 |
+
public function roleExists() {
|
76 |
+
|
77 |
+
return ($this->getRole()->getId() != false);
|
78 |
+
}
|
79 |
+
|
80 |
+
public function removeUserAndRole() {
|
81 |
+
|
82 |
+
//remove user
|
83 |
+
$user = $this->getUser();
|
84 |
+
if ($user->getId() != false)
|
85 |
+
$user->delete();
|
86 |
+
|
87 |
+
//remove role
|
88 |
+
$role = $this->getRole();
|
89 |
+
if ($role->getId() != false)
|
90 |
+
$role->delete();
|
91 |
+
}
|
92 |
+
|
93 |
+
private function getUser() {
|
94 |
+
|
95 |
+
return Mage::getModel('api/user')->load($this->username, 'username');
|
96 |
+
}
|
97 |
+
|
98 |
+
private function getRole() {
|
99 |
+
|
100 |
+
return Mage::getModel('api/roles')->load($this->rolename, 'role_name');
|
101 |
+
}
|
102 |
+
}
|
app/code/community/Marktfeed/Api/Model/Api.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Marktfeed_Api_Model_Api extends Mage_Api_Model_Resource_Abstract {
|
3 |
+
|
4 |
+
public function register($name, $guid) {
|
5 |
+
|
6 |
+
try {
|
7 |
+
|
8 |
+
$config = new Mage_Core_Model_Config();
|
9 |
+
$config ->saveConfig("marktfeed/api/register_name", $name, 'default', 0);
|
10 |
+
$config ->saveConfig("marktfeed/api/register_guid", $guid, 'default', 0);
|
11 |
+
}
|
12 |
+
catch (Exception $e) {
|
13 |
+
$this->_fault('general_error', $e->getMessage());
|
14 |
+
}
|
15 |
+
|
16 |
+
return true;
|
17 |
+
}
|
18 |
+
|
19 |
+
public function unregister() {
|
20 |
+
|
21 |
+
try {
|
22 |
+
|
23 |
+
//remove from config
|
24 |
+
$config = new Mage_Core_Model_Config();
|
25 |
+
$config ->saveConfig("marktfeed/api/register_name", '', 'default', 0);
|
26 |
+
$config ->saveConfig("marktfeed/api/register_guid", '', 'default', 0);
|
27 |
+
|
28 |
+
//remove api user
|
29 |
+
Mage::getModel('marktfeed_api/access')->removeUserAndRole();
|
30 |
+
}
|
31 |
+
catch (Exception $e) {
|
32 |
+
$this->_fault('general_error', $e->getMessage());
|
33 |
+
}
|
34 |
+
|
35 |
+
return true;
|
36 |
+
}
|
37 |
+
|
38 |
+
public function productlist($store_id, $limit, $page) {
|
39 |
+
|
40 |
+
//result object
|
41 |
+
$productResult = new StdClass();
|
42 |
+
$productResult->total = 0;
|
43 |
+
$productResult->products = array();
|
44 |
+
|
45 |
+
//set collection
|
46 |
+
$productCollection = Mage::getModel('catalog/product')
|
47 |
+
->getCollection()
|
48 |
+
->addAttributeToFilter('status', 1)
|
49 |
+
->setPageSize($limit)
|
50 |
+
->setCurPage($page);
|
51 |
+
|
52 |
+
//
|
53 |
+
if ($store_id != 0)
|
54 |
+
$productCollection->setStoreId($store_id);
|
55 |
+
|
56 |
+
//loop products
|
57 |
+
foreach ($productCollection AS $_product) {
|
58 |
+
|
59 |
+
$product = Mage::getModel('catalog/product')->load($_product->getId());
|
60 |
+
|
61 |
+
//get product data and remove un necessary data
|
62 |
+
$productData = $product->getData();
|
63 |
+
unset($productData["stock_item"]);
|
64 |
+
unset($productData["custom_layout_update"]);
|
65 |
+
unset($productData["request_path"]);
|
66 |
+
unset($productData["media_gallery"]);
|
67 |
+
|
68 |
+
//add product categories
|
69 |
+
$productData["category_ids"] = $product->getCategoryIds();
|
70 |
+
|
71 |
+
//add product images
|
72 |
+
$productData["images"] = array();
|
73 |
+
foreach ($product->getMediaGalleryImages() as $image) {
|
74 |
+
$productData["images"][] = $image->getUrl();
|
75 |
+
}
|
76 |
+
|
77 |
+
//add to result
|
78 |
+
$productResult->products[] = $productData;
|
79 |
+
}
|
80 |
+
|
81 |
+
//set total
|
82 |
+
$productResult->total = $productCollection->getSize();
|
83 |
+
|
84 |
+
//return products
|
85 |
+
return $productResult;
|
86 |
+
}
|
87 |
+
}
|
app/code/community/Marktfeed/Api/controllers/ConfigController.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Marktfeed_Api_ConfigController extends Mage_Adminhtml_Controller_Action
|
3 |
+
{
|
4 |
+
public function connectAction()
|
5 |
+
{
|
6 |
+
//create role
|
7 |
+
Mage::getModel('marktfeed_api/access')->createRole();
|
8 |
+
|
9 |
+
//create user
|
10 |
+
$credentials = Mage::getModel('marktfeed_api/access')->createUser();
|
11 |
+
|
12 |
+
$params = array();
|
13 |
+
$params["username"] = $credentials["username"];
|
14 |
+
$params["api_key"] = $credentials["api_key"];
|
15 |
+
$params["mage_version"] = Mage::getVersion();
|
16 |
+
$params["plugin_version"] = Mage::helper('marktfeed_api')->getExtensionVersion();
|
17 |
+
$params["api"] = Mage::getBaseUrl() . "api/xmlrpc/";
|
18 |
+
|
19 |
+
$this->_redirectUrl("https://www.marktfeed.nl/link/magento?" . http_build_query($params));
|
20 |
+
}
|
21 |
+
|
22 |
+
public function disconnectAction() {
|
23 |
+
|
24 |
+
$params = array();
|
25 |
+
$params["guid"] = Mage::getStoreConfig("marktfeed/api/register_guid", 0);
|
26 |
+
|
27 |
+
$this->_redirectUrl("https://www.marktfeed.nl/unlink/magento?" . http_build_query($params));
|
28 |
+
}
|
29 |
+
}
|
app/code/community/Marktfeed/Api/etc/api.xml
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<api>
|
4 |
+
<resources>
|
5 |
+
<marktfeed_api translate="title" module="marktfeed_api">
|
6 |
+
<title>Marktfeed Resource</title>
|
7 |
+
<model>marktfeed_api/api</model>
|
8 |
+
<acl>marktfeed_api</acl>
|
9 |
+
<methods>
|
10 |
+
<register translate="title" module="marktfeed_api">
|
11 |
+
<title>Register</title>
|
12 |
+
<acl>marktfeed_api/register</acl>
|
13 |
+
</register>
|
14 |
+
<unregister translate="title" module="marktfeed_api">
|
15 |
+
<title>Unregister</title>
|
16 |
+
<acl>marktfeed_api/unregister</acl>
|
17 |
+
</unregister>
|
18 |
+
<productlist translate="title" module="marktfeed_api">
|
19 |
+
<title>Productlist</title>
|
20 |
+
<acl>marktfeed_api/productlist</acl>
|
21 |
+
</productlist>
|
22 |
+
</methods>
|
23 |
+
<faults module="marktfeed_api">
|
24 |
+
<general_error>
|
25 |
+
<code>100</code>
|
26 |
+
<message>General error</message>
|
27 |
+
</general_error>
|
28 |
+
</faults>
|
29 |
+
</marktfeed_api>
|
30 |
+
</resources>
|
31 |
+
<acl>
|
32 |
+
<resources>
|
33 |
+
<marktfeed_api translate="title" module="marktfeed_api">
|
34 |
+
<title>Markteed Api</title>
|
35 |
+
<register translate="title" module="marktfeed_api">
|
36 |
+
<title>Register</title>
|
37 |
+
</register>
|
38 |
+
<unregister translate="title" module="marktfeed_api">
|
39 |
+
<title>Unregister</title>
|
40 |
+
</unregister>
|
41 |
+
<productlist translate="title" module="marktfeed_api">
|
42 |
+
<title>Productlist</title>
|
43 |
+
</productlist>
|
44 |
+
</marktfeed_api>
|
45 |
+
<all>
|
46 |
+
</all>
|
47 |
+
</resources>
|
48 |
+
</acl>
|
49 |
+
</api>
|
50 |
+
</config>
|
app/code/community/Marktfeed/Api/etc/config.xml
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Marktfeed_Api>
|
5 |
+
<version>0.2.0</version>
|
6 |
+
</Marktfeed_Api>
|
7 |
+
</modules>
|
8 |
+
<admin>
|
9 |
+
<routers>
|
10 |
+
<admin_marktfeedapi>
|
11 |
+
<use>admin</use>
|
12 |
+
<args>
|
13 |
+
<module>Marktfeed_Api</module>
|
14 |
+
<frontName>admin_marktfeedapi</frontName>
|
15 |
+
</args>
|
16 |
+
</admin_marktfeedapi>
|
17 |
+
</routers>
|
18 |
+
</admin>
|
19 |
+
<adminhtml>
|
20 |
+
<acl>
|
21 |
+
<resources>
|
22 |
+
<all>
|
23 |
+
<title>Allow Everything</title>
|
24 |
+
</all>
|
25 |
+
<admin>
|
26 |
+
<children>
|
27 |
+
<system>
|
28 |
+
<children>
|
29 |
+
<config>
|
30 |
+
<children>
|
31 |
+
<marktfeed>
|
32 |
+
<title>Marktfeed - All</title>
|
33 |
+
</marktfeed>
|
34 |
+
</children>
|
35 |
+
</config>
|
36 |
+
</children>
|
37 |
+
</system>
|
38 |
+
</children>
|
39 |
+
</admin>
|
40 |
+
</resources>
|
41 |
+
</acl>
|
42 |
+
<translate>
|
43 |
+
<modules>
|
44 |
+
<Marktfeed_Api>
|
45 |
+
<files>
|
46 |
+
<default>Marktfeed_Api.csv</default>
|
47 |
+
</files>
|
48 |
+
</Marktfeed_Api>
|
49 |
+
</modules>
|
50 |
+
</translate>
|
51 |
+
</adminhtml>
|
52 |
+
<global>
|
53 |
+
<models>
|
54 |
+
<marktfeed_api>
|
55 |
+
<class>Marktfeed_Api_Model</class>
|
56 |
+
</marktfeed_api>
|
57 |
+
</models>
|
58 |
+
<blocks>
|
59 |
+
<marktfeed_api>
|
60 |
+
<class>Marktfeed_Api_Block</class>
|
61 |
+
</marktfeed_api>
|
62 |
+
</blocks>
|
63 |
+
<helpers>
|
64 |
+
<marktfeed_api>
|
65 |
+
<class>Marktfeed_Api_Helper</class>
|
66 |
+
</marktfeed_api>
|
67 |
+
</helpers>
|
68 |
+
</global>
|
69 |
+
</config>
|
app/code/community/Marktfeed/Api/etc/system.xml
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<marktfeed translate="label" module="marktfeed_api">
|
5 |
+
<label>Marktfeed</label>
|
6 |
+
<sort_order>100</sort_order>
|
7 |
+
</marktfeed>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<marktfeed translate="label" module="marktfeed_api">
|
11 |
+
<label>API settings</label>
|
12 |
+
<tab>marktfeed</tab>
|
13 |
+
<sort_order>1000</sort_order>
|
14 |
+
<show_in_default>1</show_in_default>
|
15 |
+
<show_in_website>1</show_in_website>
|
16 |
+
<show_in_store>1</show_in_store>
|
17 |
+
<groups>
|
18 |
+
<hint>
|
19 |
+
<frontend_model>marktfeed_api/adminhtml_system_config_fieldset_hint</frontend_model>
|
20 |
+
<sort_order>0</sort_order>
|
21 |
+
<show_in_default>1</show_in_default>
|
22 |
+
<show_in_website>1</show_in_website>
|
23 |
+
<show_in_store>1</show_in_store>
|
24 |
+
</hint>
|
25 |
+
<api translate="label" module="marktfeed_api">
|
26 |
+
|
27 |
+
<label>API settings</label>
|
28 |
+
<frontend_type>text</frontend_type>
|
29 |
+
<sort_order>1000</sort_order>
|
30 |
+
<show_in_default>1</show_in_default>
|
31 |
+
<show_in_website>1</show_in_website>
|
32 |
+
<show_in_store>1</show_in_store>
|
33 |
+
<fields>
|
34 |
+
<state translate="label">
|
35 |
+
<label>State</label>
|
36 |
+
<frontend_type>text</frontend_type>
|
37 |
+
<sort_order>10</sort_order>
|
38 |
+
<show_in_default>1</show_in_default>
|
39 |
+
<frontend_model>marktfeed_api/system_config_form_field_state</frontend_model>
|
40 |
+
</state>
|
41 |
+
</fields>
|
42 |
+
</api>
|
43 |
+
</groups>
|
44 |
+
</marktfeed>
|
45 |
+
</sections>
|
46 |
+
</config>
|
app/design/adminhtml/default/default/template/marktfeed/system/config/fieldset/hint.phtml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="box">
|
2 |
+
<img src="<?php echo $this->getSkinUrl('images/marktfeed/logo-marktfeed.png'); ?>" style="float:left;margin: 18px 30px 0 10px;"/>
|
3 |
+
<p>Marktfeed is de meest complete tool voor webshophouders die producten volledig automatisch op Marktplaats.nl willen plaatsen.<br/>
|
4 |
+
Importeer eenvoudig je producten en zet deze automatisch om in kwalitatief goede Admarkt advertenties.</p>
|
5 |
+
|
6 |
+
<p>Voor documentatie en ondersteuning zie <a href="https://www.marktfeed.nl" target="_blank">Marktfeed.nl</a></p>
|
7 |
+
<div style="clear:both;width:1px;height:1px;font-size:1px;overflow:hidden;"> </div>
|
8 |
+
</div>
|
app/etc/modules/Marktfeed_Api.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Marktfeed_Api>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
</Marktfeed_Api>
|
8 |
+
</modules>
|
9 |
+
</config>
|
app/locale/nl_NL/Marktfeed_Api.csv
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"API settings", "Koppeling instellingen"
|
2 |
+
"API", "API"
|
3 |
+
"Marktfeed", "Marktfeed"
|
4 |
+
"State", "Status"
|
5 |
+
"Connect", "Verbinding"
|
6 |
+
"Marktfeed - All", "Marktfeed - Alles"
|
7 |
+
"Reconnect", "Opnieuw verbinding maken"
|
8 |
+
"Disconnected, click to connect", "Verbinding verboken, klik om verbinding te maken"
|
9 |
+
"Connected with account '%s',<br/>click to disconnect", "Verbonden met account '%s',<br/>klik om de verbinding te verbreken"
|
package.xml
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Marktfeed</name>
|
4 |
+
<version>0.0.1</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://www.opensource.org/licenses/mit-license.php">MIT License</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Marktfeed is dé tool voor webshophouders die producten volledig automatisch op Marktplaats willen plaatsen.</summary>
|
10 |
+
<description><h3>Automatische Admarkt koppeling</h3>
|
11 |
+
<p>
|
12 |
+
Koppel je bestaande Marktplaats Admarkt account eenvoudig en veilig aan die van Marktfeed. Je behoudt je eigen Marktplaats account(gegevens). De facturatie tussen Marktplaats en jouw webshop blijft ook zoals je het gewend bent. Heb je nog geen Admarkt account dan ontvang je € 50 starttegoed van Marktplaats. De vouchercode hiervoor ontvang je na aanmelding bij Marktfeed.
|
13 |
+
</p>
|
14 |
+
<h3>Producten importeren</h3>
|
15 |
+
<p>
|
16 |
+
Heb je een webshop via een webshop-software-provider (bijvoorbeeld Magento)? Koppel dan eenvoudig jouw shop aan Marktfeed via de beschikbare plug-in om je producten te importeren. Je kunt ook een bestaande productfeed (bijvoorbeeld een standaard XML export) gebruiken om je producten automatisch te uploaden. Simpel en zonder technische kennis te gebruiken.
|
17 |
+
</p>
|
18 |
+
<h3>Rubrieken koppelen</h3>
|
19 |
+
<p>
|
20 |
+
Kies (eenmalig) de juiste rubrieken en bijbehorende kenmerken van Marktplaats. De mappingtool van Marktfeed helpt je hier grotendeels bij, maar je kan ook geavanceerde regels bepalen. De uitgebreide rubriekenstructuur zorgt ervoor dat je kwalitatief goede advertenties kan maken door de juiste kenmerken te gebruiken die bij jouw producten horen. Hierdoor worden je advertenties beter gevonden.
|
21 |
+
</p>
|
22 |
+
<h3>Advertenties plaatsen</h3>
|
23 |
+
<p>
|
24 |
+
Je advertenties worden automatisch aangemaakt binnen Marktfeed met de gegevens uit je bronbestand/database. Vanuit je advertentiecockpit heb je complete controle over je plaatsingen bij Marktplaats. Naast overzichtelijk beheer van je kosten per klik, budgetten en advertentie-statussen heeft Marktfeed nog een aantal superhandige tools waar je vrolijk van wordt.
|
25 |
+
</p>
|
26 |
+
<h3>Synchronisatie en statistieken</h3>
|
27 |
+
<p>
|
28 |
+
Marktfeed en Marktplaats hebben een realtime koppeling waardoor je advertenties altijd kloppen met je aanbod binnen je webshop. De statistieken van je advertenties zijn tevens realtime, deze mailen we je maandelijks. Gebruik de utm-tagging-tool van Marktfeed om de resultaten en verkopen binnen Analytics te meten. Nu gebruik je Marktfeed als handige tool om advertentieplaatsingen op Marktplaats volledig te automatiseren en je verkoop te optimaliseren!
|
29 |
+
</p></description>
|
30 |
+
<notes>Initial release</notes>
|
31 |
+
<authors><author><name>EasyAds</name><user>MAG002936376</user><email>development@easyads.eu</email></author></authors>
|
32 |
+
<date>2015-10-08</date>
|
33 |
+
<time>15:41:21</time>
|
34 |
+
<contents><target name="magecommunity"><dir name="Marktfeed"><dir name="Api"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Hint.php" hash="dcb4ad0381bba57dea30856aeed6f1f7"/></dir></dir></dir></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="State.php" hash="f32e32ac1887fe8f6a386e34cdbb92a7"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="f85529026c61208f0c8105c8bdb6c34d"/></dir><dir name="Model"><file name="Access.php" hash="f37466fbbdd5c0ee2acbd96944d20f9c"/><file name="Api.php" hash="5e6b7bcde06b869283cd0d3cc54c5af1"/></dir><dir name="controllers"><file name="ConfigController.php" hash="c1fb8e4e65836ce8083dec56fe4d1b32"/></dir><dir name="etc"><file name="api.xml" hash="da3e60fecea102158a2b51ef86fe8a73"/><file name="config.xml" hash="0c7f26c3fb4890c5c461e70c088c3594"/><file name="system.xml" hash="11d95131a1dad9aafa2999b7ba8b9139"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Marktfeed_Api.xml" hash="90686744467ac041b7e72163d7f05432"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="marktfeed"><dir name="system"><dir name="config"><dir name="fieldset"><file name="hint.phtml" hash="d57f28440074ae93c0be2b08662e1fab"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="nl_NL"><file name="Marktfeed_Api.csv" hash="08fb93e07fc895e2644df8cc85e517f5"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="marktfeed"><file name="connected.png" hash="b4ea92038d64fe62aaf9ccd78214d026"/><file name="disconnected.png" hash="b48ea8cabc59712048c74ed72728dedc"/><file name="logo-marktfeed.png" hash="f6ab9dd2ea5701e46daaa29ea42a5e9c"/></dir></dir></dir></dir></dir></target></contents>
|
35 |
+
<compatible/>
|
36 |
+
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
37 |
+
</package>
|
skin/adminhtml/default/default/images/marktfeed/connected.png
ADDED
Binary file
|
skin/adminhtml/default/default/images/marktfeed/disconnected.png
ADDED
Binary file
|
skin/adminhtml/default/default/images/marktfeed/logo-marktfeed.png
ADDED
Binary file
|