Need help buying now? +48-22-219-5163 +1-917-720-3250
My Cart

Your Cart is Empty

Need help buying now?
+48-22-219-5163 +1-917-720-3250

Latest Magento Headlines, GoMage Updates and eCommerce Best Practices

Items 141 to 150 of 322 total

Browse Pages:
  1. 1
  2. ...
  3. 13
  4. 14
  5. 15
  6. 16
  7. 17
  8. ...
  9. 33
  • Email configuration in Magento

    Email configuration in Magento

    Correct email configuration is extremely important for any online business. Today we will discuss how to configure email contact data in Magento, how to change the logo in the email and how to setup receipt of the email notifications of new orders.

    How to configure contact data

    Configuration of the contact data in the email that is sent to the customer is a very important task. First of all, this increases the level of trust to the online store. Secondly, customers will not have to search for your contact data on the site in case they need any assistance. Thirdly, this is a very convenient option that significantly improves your store usability.

    In order to configure the email contact data in Magento you need to go to the admin panel – System – Configuration section. There you will see the option for Email addresses. Set the necessary email addresses in the corresponding fields. It is very important to use valid email addresses which you check several times a day, so you can help your customers immediately.

    How to change the logo in Magento emails

    As well as any online store, any email should have its own design, peculiarities and logo, configured in accordance with the general site design. The site can use the help of GoMage themes but you will still need to configure the emails by yourself. This is necessary in order to let customers know that emails are sent from your store. And again, such business approach indicates that your store image is most important for you as the owner.

    According to the default Magento settings, all emails are sent with the system logo. This is not very convenient if you wish to make your store unique in all details. In order to change the settings go to the admin panel, then to System – Configuration – Design - Transactional emails. You will see the page on which you can change the email settings. Click ‘Logo Image’ and upload your own logo. Save all changes you make. A small advice here: while developing your logo save it in PhotoShop for web, this simple trick will help you to reduce the emails loading time.

    Now all emails sent from your store will contain your logo.

    How to configure Transactional emails receipt

    In most cases Magento requires the orders to be checked by the administrators. If you do not process the orders in time you may lose precious time and even customers. There is a very convenient option in Magento – email notifications about incoming transactions. It allows you process the orders almost immediately, confirm them, or cancel and inform customers what they need to correct.

    In order to enable this option you need to go to the admin panel, then to System – Configuration - click ‘Letters (emails) on the order’ and you will be moved to another page where you need to choose the first tab – Order. Further actions are simple. In the field that says that the notification should be sent after an order is received you should enter your email address. If you have several addresses or several administrators that should receive these emails - add all necessary addresses separated by commas.

    Now save the changes and check all settings, everything should work properly. If you have any issues with email configuration in Magento you can request assistance from Magento development company. We would also appreciate your comments regarding the email option configurations that you use.

    Read More
  • Shipping module for Magento

    Shipping module for Magento

    Many developers state that Magento is a very complicated system and it is almost impossible for a user to create extensions for it by themselves. Today we are going to discuss how to create a shipping module for Magento, what should be the basic compounds and construction of this system element.

    Principle basics of a shipping module

    It is extremely important for a customer not only to find the necessary product in an online store but to also receive it without any problems. Naturally, it is no less important for the store owners to arrange the process of shipment properly. By default, Magento system recognizes such world-wide known shipping companies:

    1. UPS

    2. USPS

    3. FedEx

    4. DHL

    In order to add a specific shipping company, e.g. Canada postal service, you need to create your own shipping module. Of course, in most cases this task should be handled by Magento development team but we will show you how to do that by yourself.

    Module configuration initialization

    During a new Magento module creation the most important task is writing of configuration files, as with any other module. This recipe will describe the steps of creating a configuration file for our new shipping module.

    Launch your PHP editor and open your Magento admin. Now you need to create a folder called ‘Packt’ inside app/code/local directory. Inside the newly created folder create another folder called ‘Myshipping’. Inside this folder create two more folders – ‘Model’ and ‘etc’. In the folder ‘etc’ create a file called config.xml with the following code:

    <?xml version="1.0"?>
    <config>
    <modules>
    <Packt_Myshipping>
    <version>1.0.0</version>
    <depends>
    <Mage_Shipping />
    </depends>
    </Packt_Myshipping>
    </modules>
    <global>
    <models>
    <myshipping>
    <class>Packt_Myshipping_Model</class>
    </myshipping>
    </models>
    <resources>
    <myshipping_setup>
    <setup>
    <module>Packt_Myshipping</module>
    </setup>
    <connection>
    <use>core_setup</use>
    </connection>
    </myshipping_setup>
    </resources>
    </global>
    <default>
    <carriers>
    <myshipping>
    <active>1</active>
    <model>myshipping/carrier</model>
    </myshipping>
    </carriers>
    </default>
    </config>
    

     

    Once the code is pasted save the file and close it. Now you need to create one more file called System.xml inside the folder ‘etc’. This file will contain quite a long code string so you can download it on the official site for more convenience.

    The next code part is directly related to the configuration of Myshipping module, particularly to the sorting order, administrator sign and other additional configuration elements.

    <?xml version="1.0"?>
    <config>
    <sections>
    <carriers>
    <groups>
    <myshipping translate="label" module="shipping">
    <label>Canada Post</label>
    <frontend_type>text</frontend_type>
    <sort_order>13</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    

     

    The block ‘fields’ contains the settings for all fields that can be found in the admin panel. These are products’ visibility to customers and administrators, a store sign, products sorting and other configurations.

    <fields>
    <account translate="label">
    <label>Account number</label>
    <frontend_type>text</frontend_type>
    <sort_order>7</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </account>
    <active translate="label">
    <label>Enabled</label>
    <frontend_type>select</frontend_type>
    <source_model>adminhtml/system_config_source_yesno
    </source_model>
    <sort_order>1</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </active>
    <contentdesc translate="label">
    <label>Package Description</label>
    <frontend_type>text</frontend_type>
    <sort_order>12</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </contentdesc>
    

     

    Remember that, if the option ‘free_shipping_enable’ is enabled in the standard Magento shipping settings, then the platform will check free_shipping_subtotal in order to be able to verify the details of Shopping Cart Price Rule.

    <free_shipping_enable translate="label">
    <label>Free shipping with minimum order
    amount</label>
    <frontend_type>select</frontend_type>
    <source_model>adminhtml/system_config_source_
    enabledisable</source_model>
    <sort_order>21</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </free_shipping_enable>
    <free_shipping_subtotal translate="label">
    <label>Minimum order amount for free
    shipping</label>
    <frontend_type>text</frontend_type>
    <sort_order>22</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </free_shipping_subtotal>
    <dutiable translate="label">
    <label>Shipment Dutiable</label>
    <frontend_type>select</frontend_type>
    <source_model>adminhtml/system_config_source_yesno
    </source_model>
    <sort_order>13</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </dutiable>
    <gateway_url translate="label">
    <label>Gateway URL</label>
    <frontend_type>text</frontend_type>
    <sort_order>2</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </gateway_url>
    <handling_type translate="label">
    <label>Calculate Handling Fee</label>
    <frontend_type>select</frontend_type>
    <source_model>shipping/source_handlingType
    </source_model>
    <sort_order>10</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>0</show_in_store>
    </handling_type>
    <handling_action translate="label">
    <label>Handling Applied</label>
    <frontend_type>select</frontend_type>
    <source_model>shipping/source_handlingAction
    </source_model>
    <sort_order>11</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>0</show_in_store>
    </handling_action>
    <handling_fee translate="label">
    <label>Handling fee</label>
    <frontend_type>text</frontend_type>
    <sort_order>12</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </handling_fee>
    <max_package_weight translate="label">
    <label>Maximum Package Weight (Please consult your
    shipping carrier for maximum supported shipping
    weight)</label>
    <frontend_type>text</frontend_type>
    <sort_order>13</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </max_package_weight>
    <id translate="label">
    <label>Access ID</label>
    <frontend_type>text</frontend_type>
    <backend_model>adminhtml/system_config_backend_
    encrypted</backend_model>
    <sort_order>5</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </id>
    <password translate="label">
    <label>Password</label>
    <frontend_type>text</frontend_type>
    <backend_model>adminhtml/system_config_backend_
    encrypted</backend_model>
    <sort_order>6</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </password>
    <shipping_intlkey translate="label">
    <label>Shipping key (International)</label>
    <frontend_type>text</frontend_type>
    <backend_model>adminhtml/system_config_backend_
    encrypted</backend_model>
    <sort_order>8</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </shipping_intlkey>
    <shipping_key translate="label">
    <label>Shipping key</label>
    <frontend_type>text</frontend_type>
    <backend_model>adminhtml/system_config_
    backend_encrypted</backend_model>
    <sort_order>8</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </shipping_key>
    <sort_order translate="label">
    <label>Sort order</label>
    <frontend_type>text</frontend_type>
    <sort_order>100</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </sort_order>
    <title translate="label">
    <label>Title</label>
    <frontend_type>text</frontend_type>
    <sort_order>2</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </title>
    <sallowspecific translate="label">
    <label>Ship to applicable countries</label>
    <frontend_type>select</frontend_type>
    <sort_order>90</sort_order>
    <frontend_class>shipping-applicablecountry</
    frontend_class>
    <source_model>adminhtml/system_config_source_
    shipping_allspecificcountries</source_model>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </sallowspecific>
    <specificcountry translate="label">
    <label>Ship to Specific countries</label>
    <frontend_type>multiselect</frontend_type>
    <sort_order>91</sort_order>
    <source_model>adminhtml/system_config_source_country
    </source_model>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </specificcountry>
    <showmethod translate="label">
    <label>Show method if not applicable</label>
    <frontend_type>select</frontend_type>
    <sort_order>92</sort_order>
    <source_model>adminhtml/system_config_source_yesno
    </source_model>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </showmethod>
    <specificerrmsg translate="label">
    <label>Displayed Error Message</label>
    <frontend_type>textarea</frontend_type>
    <sort_order>80</sort_order>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    </specificerrmsg>
    </fields>
    </myshipping>
    </groups>
    </carriers>
    </sections>
    </config>
    <show_in_default>1</show_in_default>
    

     

    This is the last stage of configuration of a Magento module. You need to create a new module in folder app/etc/modules/Packt_Myshipping and add the following code into it:

    <?xml version="1.0"?>
    <config>
    <modules>
    <Packt_Myshipping>
    <active>true</active>
    <codePool>local</codePool>
    </Packt_Myshipping>
    </modules>
    </config>
    

     

    What was done

    It is known that XML files are the basic components of Magento CMS. They are used to create any Magento modules including GoMage extensions. The code taken from http://magento-forum.ru/ is the code for two main files - config.xml and System.Xml. But, beside those files, it is also very important to create an extension adapter that will command the class Mage_Shipping_Model_Carrier_Abstract. For that you need to create a file Carrier.php in folder app/code/local/Packt/Myshipping/Model and copy the following code into it:

    <?php
    class Packt_Myshipping_Model_Carrier extends Mage_Shipping_Model_
    Carrier_Abstract
    {
    /**
    * unique identifier for our shipping module
    * @var string $_code
    */
    protected $_code = 'myshipping';
    /**
    * Collect rates for this shipping method based on information
    in $request
    *
    * @param Mage_Shipping_Model_Rate_Request $data
    * @return Mage_Shipping_Model_Rate_Result
    */
    public function collectRates(Mage_Shipping_Model_Rate_Request
    $request)
    {
    if (!$this->getConfigData('active')) {
    Mage::log('The ' . $this->_code . 'my shipping module is not
    active.');
    return false;
    }
    $handling = $this->getConfigData('handling_fee');
    $result = Mage::getModel('shipping/rate_result');
    foreach ($request as $method) {
    $method = Mage::getModel('shipping/rate_result_method');
    $method->setCarrier($this->_code);
    $method->setCarrierTitle($this->getConfigData('title'));
    $method->setMethod($method['code']);
    $method->setMethodTitle($method['title']);
    $method->setCost($method['amount']);
    $method->setPrice($method['amount'] + $handling);
    $result->append($method);
    }
    return $result;
    }
    }
    

     

    Save the changes you have made.

    It is notable that this file will work even for duty calculation and that sum will be added to the shipping form. In order to set your positions you only need to configure system.xml properly. Then you can enable your new extension.

    In order to enable a new shipping module in Magento you should go to the admin panel, then to System - Configuration Advanced - Advanced page. On the page that opens check if Packt_Myshipping is enabled. Then go back to System - Shipping methods, which is under Configuration =>Sales. In the code sample we set ‘Canada Post’ as the method name so we need to search for it now. Enter the search request into the corresponding window. Make sure this method is also enabled. After this work is done, contact your shipment manager and ask them to check if everything is displayed properly. Make sure you save all settings.

    In order to make the module visible on the site you need to go to the admin panel, Shipping Methods section. Fill in the information for Canada Post and save the changes. After that everything should work. Of course, you will also need to check the functionality of your module by making a test shipment through it.

    Read More
  • Basic attribute settings in Magento

    Basic attribute settings in Magento

    Products are the basis of any online store. Let us review basic attribute settings in Magento, their main characteristics as well as some advice regarding attributes creation.

    How to configure a product

    Before you start a global product configuration it is necessary to know what attributes they can have:

    1. ID is an identification number applied by Magento system to a product;

    2. Name is a product name specified by an administrator depending on the online store settings;

    3. Type is a product type;

    4. Set name is an attribute name which is set by an administrator in the process of a product creation;

    5. Stock number (SKU) is a number that allows an administrator and customer determine the type of product, it is used for better convenience in trade marketing;

    6. Price is a range of possible prices for the product;

    7. Quantity is a quantity of product items available or in stock (depending on the store type and requirements);

    8. Visibility attribute is responsible for displaying a product on the store front;

    9. Status indicates whether a product is active or disabled (e.g. depending on the stock status).

    Product types

    In Magento, you can create several product types. These are simple, configurable, grouped and digital products. Each of these types has its own characteristics and features. For example, a simple product is a product that does not have any other characteristics except those specified by the administrator during the product creation. E.g. you have a red T-shirt in your store - it only has one size and color. A customer will not be able to choose another size and color for this product, so it is simple. A configurable product is more complicated, you can choose different characteristics for it. In order to extend the possibilities of products configuration of this type you can use special Magento extensions.

    A grouped product also has certain advantages compared to the previous two types. Your customer will be able to buy a group of products or one products of a group (depending on the general store settings).

    How to add product category and attributes

    First, you will need to create a category to which your product will be assigned. Go to the admin panel, then to Catalog – Manage Categories. You will see a page for categories configuration. By default, one category exists which is called “Default’.

    There is a very important moment here: all categories that will be displayed in the navigation menu must be the subcategories of ‘Default’. Of course, you can create your own categories beside ‘Default’ but they will not be displayed in the store navigation. In order to create it click the corresponding button and choose ‘New Category’. You will see a new page on which you will need to specify the main settings necessary for the category indexing by search engines and customers’ convenience. All settings are clear except “Is Active” – if you choose ‘Yes’ the category will be visible for users, if you set it to ‘No’ it will be hidden.

    Remember that the menu is formed according to the settings of ‘Include in Navigation Menu’. In other words, if you create several stores in Magento, then the menu will still be formed basing on the main store category and ‘Include in Navigation Menu’ settings.

    After you have set the categories you need to develop the set of attributes. This task is not so easy and requires some fastidiousness. You will be able to create different attributes for different categories, so the configuration of a large store will be a hard work.

    Go to the admin panel to Catalog – Attributes and Manage Attributes. You will see a page of the attributes configuration. Remember that some of them can be made invisible for customers so that they only serve for easier online store management.

    In order to add new attributes go to Add New Attribute section and open New Product Attribute page. It is intuitively clear but we will explain some fields. There are two attributes sections – Attribute Properties and Frontend Properties. The former indicates which attributes will be visible to the site admin and the latter includes the attributes available to customers on the front end.

    1. Attribute Code is an attribute name which can consist of letters, numbers and lower dashes only. You can specify the area of this attribute as StoreView, Website or Global;

    2 After identification settings you can choose color;

    3. In the field “Catalog Input Type for Store Owner” you can choose the type of data that the attribute will use. If you choose Multiple Select here you will need to enter the list of values for this area;

    4. Unique Value is a unique attribute which indicates that no other products in this store can have the same attribute;

    5. “Input Validation for Store Owner” is a controlling attribute that checks whether or not all data are entered properly;

    6. Apply To field indicates which product(s) can have this attribute(s);

    7. Use in quick search option, if set to Yes, will help your customers find desired products on the site using the search field.

    Once all necessary attributes are filled save the changes by pressing “Save Attribute”.

    We hope that our recommendations regarding Magento product attributes configuration will be useful. If you need any additional consultation please email Magento development GoMage team directly. Please also visit our Magento blog.

    Read More
  • Basic Magento admin panel configurations

    Basic Magento admin panel configurations

    Any website requires an administrator who can configure the necessary parameters, monitor the work and update of the site, process the orders, etc. But administering a website is quite a difficult job that requires certain knowledge and skills. Let us review basic Magento admin panel configurations.

    How to change the administrative password

    It is often necessary to change the existing administrative password by different reasons. This is quite easy. Unlike many website building systems Magento will not make you go to its official site and then check your mail waiting for a new password or a reset link.

    In order to change Magento administrative password you need to access your admin panel. Then go to System - My Account. Make the necessary changes and save the data.

    Remember that your password should be most complicated, this will guarantee the security of your personal data and your customers’ information. We recommend using a combination of letters and numbers and no less than 8 symbols. The best variant is considered to be using letters from different languages of both upper and lower case.

    If you cannot access the admin panel after your password was changed, you need to consult with Magento development or try to restore access by yourself. Below we offer a step-by-step instruction of the actions that need to be done if you cannot login to your Magento admin with a new password. If you cannot login at all, you can reset your password directly in the database:

    1. Open your database though phpMyAdmin. You need “admin_user” table;

    2. Choose the option to edit the table;

    3. Enter your password;

    4. A drop-down menu will open, there you need to press “MD5”;

    5. Save the changes.

    Magento admin panel URL

    Another very interesting configuration is changing your admin panel URL. Basically, this option is necessary due to security requirements but the administrators often change the URL for better convenience. You need to go to app/etc/local.xml and open this file. It is better to use a text editor. You need the part of code specified below:

    <admin>
      <routers>
        <adminhtml>
          <args>
              <frontname><!--[CDATA[admin]]></frontName--></frontname>
          </args>
        </adminhtml>
      </routers>
    </admin>
    

     

    Now you need to change <![CDATA[admin]]> to <![CDATA[new_admin_url]]>:
    e.g.,: <![CDATA[administrator]]>.

    You should have a result like in this example: http://your_site_magento/administrator

    After making all steps listed above you must flush Magento cache. You can use specific Magento extensions or do it manually. Open Magento root directory, locate the folder var/cach and erase all folders in it.

    Now the access to your Magento admin panel will only work at the new URL.

    Admin panel access problem

    Sometimes, when you try to access some admin panel sections you may encounter such error - “Could not determine temp directory, please specify a cache_dir manually in Magento”. In order to remove it you need to do the following:

    1) Open the root directory and create ‘tmp’ folder in it;

    2) Set permissions 777 or 755 for this folder;

    3) Open file lib/Zend/Cache/Backend/File.php and locate the following code:

    protected $_options = array(
    ‘cache_dir’ => null,
    

     

    Change these lines to the following:

    protected $_options = array(
    ‘cache_dir’ => ‘tmp’,
    

     

    Save the changes.

    Read More
  • CAPTCHA module for registration in Magento

    CAPTCHA module for registration in Magento

    Additional modules are necessary in Magento system in order to create new features for web stores and extend the default options. Let us review how to create a CAPTCHA module for registration in Magento. The code was taken from http://habrhabr.ru.

    In this article we will discuss the following points:

    1. The process of the module creation;

    2. Transformation of different blocks;

    3. Controller reconfiguration;

    4. Development of module installation scripts.

    Why this module is necessary

    Having so many various Magento modules to choose from you may indeed find it strange to create a module by yourself. First of all, this will give you more experience that will be useful for your further work on the site. Secondly, it is not always possible to find a module with the functionality you need, or you are not satisfied with its price or quality.

    Why CAPTCHA module is needed? It serves as your protection from spammers and bots which try to litter your web store with malicious links and comments. Beside that we also recommend using a closed invitation code that will save you and your customers from potential intruders. It is actually quite easy to create such an extension and we are going to show you how to do that.

    Registration page

    Our registration page is located at this path: /magento/customer/account/create. We need to add CAPTCHA check and also an invitation code field that will require customers to enter their code. By default, there are three customer groups in Magento: General, Wholesale and Retailer. A customer will need to choose their group. But Magento system does not know anything about an invitation code yet, so you need to create a new attribute for it.

    In order to start the work, locate the registration form template.

    For example:

    /magento/app/design/frontend/default/default/template/customer/form/register.phtml — it is a registration form.

    The attributes are added in the module installer, below is an example for the core variant but it is not recommended to modify the core:

    /magento/app/code/core/Mage/Customer/sql/customer_setup/mysql4-upgrade-0.8.7-0.8.8.php

    It is better to write your own installer and add it to the module.

    Find the description of the attributes that are being edited in the module configuration:

    /magento/app/code/core/Mage/Customer/etc/config.xml

    In tags <fieldsets>

    In its turn, registration is also posted by the following URL:

    http://localhost/magento/customer/account/createpost/

    After this description we understand that the whole process if controlled by Mage_Customer_AccountController.

    Please note that we will not modify the existing files, we will create new ones. The existing files will serve as a sample for the future work. We begin with creating a new folder in the catalog:

    /magento/app/design/frontend/default/mytheme

    default — interface name

    mytheme — a name of the future theme

    Here we will create the extension templates.

    The future theme files with the same names will override the files of the standard template.

    So, actually the standard theme will not be modified manually.

    Now we need to create a module CustomerMod. The folder structure is the same for all extensions:

    magento/app/code/local/
        Examples
            CustomerMod
                - Block
                - etc
                - Helper
                - Model
                - sql
    

     

    It is necessary to create a file with the extension descriptions:

    magento/app/etc/modules/Examples_All.xml
    <config>
    	<modules>
       	<Examples_CustomerMod>
           	<active>true</active>
               <codePool>local</codePool>
       	</Examples_CustomerMod>
    	</modules>
    </config>
    

     

    Additional fields on the registration page

    We need to create additional fields on the registration page that will allow users choose to which group they will be assigned («General», «Wholesale», «Retailer»). In order to realize that we only need to create an additional block on the registration page where the necessary group will be located.

    A group selection template should be located in a separate file:

    /magento/app/design/frontend/default/example_theme/template/customer/form/register/groupselect.phtml

    See below the content of that file:

    <?php $customer_groups = Mage::helper('customer')->getGroups()->toOptionArray(); ?>
    <fieldset class="group-select">
    <h4 class="legend"><?php echo $this->__('Customer Group') ?></h4>
    <ul>
    <?php foreach($customer_groups as $cg) { ?>
               	<li class="f-left" style="margin: 2px 4px;" >
                              	<input type="radio" name="group_id" id="group_id"
                                              	value="<?php echo $cg['value']; ?>"
                                              	<?php if ($cg['value']==1) 
                                                echo 'checked=1' ?>  />
                              	<label><?php echo $cg['label']; ?></label>
               	</li>
    <?php } //end foreach?>
    </ul>
    </fieldset>
    

     

    Please note that “group_id” field name must correspond to the attribute name.

    Layout correction

    Location of the blocks and their relation to the templates is described in ‘layout’ section. These are xml files which you will find at magento/app/design/interface_name/theme_name/layout.

    In the template sample being reviewed the path and the file look as follows:

    /magento/app/design/frontend/default/example_theme/layout/customermod.xml

    <layout version="0.1.0">
        <customer_account_create>                               	                           	
            <reference name="customer_form_register">                                          	
                <block type="core/template" name="customergroups-select" template="customer/
                form/register/groupselect.phtml" />
                <block type="captcha/recaptcha" name="captcha" />                            	
            </reference>               	
        </customer_account_create>             	
    </layout>
    

     

    The file refers to customer_form_register. Inside it you need to add a path to the block being created:

    type is a block class. In this case it is “core/template” which also means Mage_Core_Block_Template.

    name — any name you like.

    template — block template.

    Do not forget to setup the layout update in the module configuration files so that Magento could apply all changes specified by customermod.xml:

    /magento/app/code/local/Examples/CustomerMod/etc/config.xml

    <frontend>
    <layout>
     	<updates>
         	<customermod>
                 <file>customermod.xml</file>
         	</customermod>
     	</updates>
    </layout>
    </frontend>
    

     

    Now we need to call the block.

    We will do that using getChildHtml(name_block).

    Copy the file register.phtml from default theme into the one being used and add the call before ‘Login Information’:

    /magento/app/design/frontend/default/example_theme/template/customer/form/register.phtml

    ...
    <?php echo $this->getChildHtml('customergroups-select') ?>
     
    <fieldset class="group-select wide">
       	<h4 class="legend"><?php echo $this->__('Login Information') ?></h4>
    …
    

     

    Then save the changes and the customer group selection block should become visible to customers. If something goes wrong please consult with Magento development.

    New module attribute

    All attributes are stored in eav_attributes table, so usually the work with the attributes includes making changes to the data in eav_attributes table.

    You should also remember about static attributes because their values are stored on other tables.

    1. Installer scripts

    All actions related to the module modifications are done in the installer scripts which are stored in ‘sql’ folder inside each module:

    /magento/app/code/core/Mage/Customer/sql/customer_setup

    The scripts can be of two types - setup and upgrade. Magento runs the necessary script once during the installation or update of your extension. After the installation is complete a new line is added to ‘core_resource’ tables, like this:

    'customermod_setup', '0.1.0'

    Remember that the scripts will not be removed automatically, you will need to remove them manually if needed.

    2. Attribute script

    The samples of installer scripts can be found in standard Magento modules. Let’s say, it looks as follows:

    $installer = $this;
    /* @var $installer Mage_Customer_Model_Entity_Setup */
    $installer->startSetup();
    $installer->addAttribute('customer', 'invitation_code', array(
        'type' => 'varchar',
        'input' => 'text',
        'label' => 'Invitation Code',
        'global' => 1,
        'visible' => 1,
        'required' => 1,
        'user_defined' => 1,
        'default' => null,
        'visible_on_front' => 1
    ));
    $installer->endSetup();
    

     

    Now you need to update the template.

    Add an additional field into the registration form:

    /magento/app/design/frontend/default/example_theme/template/customer/form/register.phtml

    <div class="input-box">
        <label for="invitation_code"><?php echo $this->__('Invitation Code') ?> 
        <span class="required">*</span></label>
        <input type="text" name="invitation_code" id="invitation_code" 
        title="<?php echo $this->__('Invitation Code') ?>" class="required-entry 
        input-text" />
    </div>
    

     

    Now update the settings. Particularly, add the installer script characteristics:

    /magento/app/code/local/Examples/CustomerMod/etc/config.xml

    <global>
        <resources>
            <customermod_setup>
                <setup>
                    <module>Examples_CustomerMod</module>
                    <class>Mage_Eav_Model_Entity_Setup</class>
                </setup>
                <connection><use>core_setup</use></connection>
            </customermod_setup>
            <customermod_write><connection><use>core_write</use></connection>
            </customermod_write>
            <customermod_read><connection><use>core_read</use></connection>
            </customermod_read>
        </resources>
    

     

    Indicate the new field in fieldsets:

    <fieldsets>
        <customer_account>
            <group_id><create>1</create><update>1</update></group_id>
            <invitation_code><create>1</create><update>1</update></invitation_code>                                      	            	            	
        </customer_account>
    </fieldsets>
    

     

    After that the registration form will have a field for entering an invitation code, called Invitation Code. Its value is stored in ‘invitation_code’ attribute for each customer individually.

    CAPTCHA

    Before starting to work you need to download recaptcha-php library and copy it into /magento/lib folder.

    In the module configuration CustomerMod we need to describe the controller being used:

    <config>
    	...
    	<frontend>
    	...
    	<routers>
        	<customer>
           	<args>
              	<modules>
                 	<Examples_CustomerMod before="Mage_Customer">Examples_CustomerMod
                  </Examples_CustomerMod>
              	</modules>
           	</args>
        	</customer>
     	</routers>
    	…
    

     

    The controller itself should be located in catalog

    /magento/app/code/local/Examples/CustomerMod/controllers/AccountController.php

    require_once("Mage/Customer/controllers/AccountController.php");
    require_once('recaptcha/recaptchalib.php');
    class Examples_CustomerMod_AccountController extends Mage_Customer_AccountController {
                              	
        public function createPostAction() {                  	
            $request = $this->getRequest();                         	
            $captchaIsValid =  Mage::helper('captcha')->captchaIsValid($request);
            
            if ($captchaIsValid) {
                parent::createPostAction();
            } else {
                $this->_getSession()->setCustomerFormData($this->getRequest()->getPost());
                $this->_getSession()->addError($this->__('Verification code was not correct. 
                Please try again.'));
                $this->_redirectError(Mage::getUrl('*/*/create', array('_secure'=>true)));
            }
        }
    }
    

     

    In order to check CAPTCHA use controller:

    Examples_Captcha_Helper_Data:

    /magento/app/code/local/Examples/Captcha/Helper/Data.php

    require_once('recaptcha/recaptchalib.php');
    class Examples_Captcha_Helper_Data extends Mage_Core_Helper_Abstract
    {          	
        const CAPTCHA_PUBLIC_KEY = "public-key-for-the-website";
        const CAPTCHA_PRIVATE_KEY = "private-key-for-the-website";
    
        public function captchaIsValid(Mage_Core_Controller_Request_Http $request) {     	
            if ($request) {
                $resp = recaptcha_check_answer (self::CAPTCHA_PRIVATE_KEY,
                       $_SERVER["REMOTE_ADDR"],
                       $request->getParam("recaptcha_challenge_field"),
                    $request->getParam("recaptcha_response_field") );                   	
                return $resp->is_valid;
            }
            return false;                                                                                 	
        }
    
        public function captchaGetError(Mage_Core_Controller_Request_Http $request) {
            if ($request) {
                $resp = recaptcha_check_answer (self::CAPTCHA_PRIVATE_KEY,
                   $_SERVER["REMOTE_ADDR"],
                       $request->getParam("recaptcha_challenge_field"),
                       $request->getParam("recaptcha_response_field") );
                return $resp->error;
            }
            return false;
                        
        }
    
        public function getPublicKey() { return  Examples_Captcha_Helper_Data::CAPTCHA_PUBLIC
        _KEY; }
               	
    }
    

     

    CAPTCHA block

    The registration page should have a CAPTCHA image displayed. For this a special function recaptcha_get_html() is used. The function can be called from the template itself (phtml) but it is recommended to create an additional class. In order to do this you need to describe the class Examples_Captcha_Block_Recaptcha.

    /magento/app/code/local/Examples/Captcha/Block/Recaptcha.php

    require_once('recaptcha/recaptchalib.php');
    class Examples_Captcha_Block_Recaptcha extends Mage_Core_Block_Abstract {                    	
        public function _toHtml() {
            $html = recaptcha_get_html( Mage::helper('captcha')->getPublicKey() );
            return $html;
        }
    }
    

     

    Now add this block to layout.

    /magento/app/design/frontend/default/example_theme/layout/customermod.xml

    <?xml version="1.0"?>
    <layout version="0.1.0">
        <customer_account_create>                                                              	
            <reference name="customer_form_register">                                          	
                <block type="core/template" name="customergroups-select" template="customer/
                form/register/groupselect.phtml" />
                <block type="captcha/recaptcha" name="captcha" />                            	
            </reference>               	
        </customer_account_create>
    </layout>
    

     

    Now tell Captcha extension that it has a block and helper:

    /magento/app/code/local/Examples/Captcha/etc/config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <config>          	
        <modules>
           <Examples_Captcha>
              <version>0.1.0</version>
           </Examples_Captcha>
        </modules>
    
        <global>    	                  	
            <blocks>
                <captcha><class>Examples_Captcha_Block</class></captcha>
            </blocks>                                                      	
            <helpers>
                <captcha>
                    <class>Examples_Captcha_Helper</class>
                </captcha>
            </helpers>                                                    	
        </global>        	
    </config>
    

     

    Now, your CAPTCHA block for Magento is complete.

    Read More
  • Which Payment Gateways are compatible with Magento Enterprise Edition

    Which Payment Gateways are compatible with Magento Enterprise Edition

    Payment Gateways help to arrange the process of payment in web stores using customers’ credit cards, but sometimes it is quite difficult to select a proper payment system. Let us discuss which Payment Gateways are compatible with Magento Enterprise Edition and perform a small review of them.

    General information about Payment Gateways

    A Payment Gateway is an ‘intermediate link’ between your customer’s credit card and your web store bank account. Its principle of work is quite simple: a customer chooses the desired product, presses ‘Order’ or ‘Checkout’, then the payment system redirects them to the page on which they need to enter the credit card data. The system processes the data and confirms or declines the payment.

    In our age of progress skilled programmers almost every day create new software that allows stealing credit cards information so many web store owners prefer using special payment modules. These Magento extensions allow us easily implement a possibility to accept credit card payments into our web stores.

    Many systems offer already developed modules, which makes the work even easier. But it is not always possible to install the extension on your own due to lack of knowledge, time or experience, all the more not all payment gateways are used worldwide.

    Global gateways

    PayPal

    All webmasters already know that Magento is deeply integrated with PayPal. At the moment, it is the most popular payment system which is used by each second site in Europe and the USA. All that a web store owner needs to do is register their account in PayPal and then upload the necessary extension offered by PayPal to their site. If necessary, you can consult with Magento experts and ask for their assistance.

    Authorize.Net

    Authorize.Net is the second popular gateway that processes payments all over the world regardless of the customer’s country and currency. It has a lot of useful and necessary features: payments are perfectly protected from fraud, high processing speed, currency converter, and many others. But multichannel transactions are considered to be the best of its features: now the web store owners can configure different payment ways – online with the card, ordering by post/email/phone, even through a mobile device. Now there are about 300,000 sites using this payment system.

    CyberSource

    CyberSource is a famous subsidiary company of Visa Inc. The third well-known world gateway perfectly handles the management of payments and customers’ orders, protects you and your customers from fraudsters’ actions.

    First Data

    First Data is a payment gateway for Magento which offers not only security and speed but also support. This site provides 24/7 customer support and accepts very large sums for payments. We recommend using First Data for wholesale web stores and other large portals.

    WorldPay

    WorldPay works in 40 countries and it is a world leader of payments processing in the USA. This company was the first one to launch the system accepting payments from customers through their credit cards.

    The USA

    PSiGate

    PSiGate is often used in the North America, it is a Canadian company. This system provides secure interface for a web store, all transactions are processed in real time.

    Europe

    Money Payment Services

    Money Payment Services payment gateway is a leading independent provider of functional, secure and innovational payment services for various web stores in Europe. According to the data for the last year this system daily processes payments for tens of thousands dollars.

    Ogone

    Ogone Payment Services is another payment services that works with credit cards. It is less known than the ones listed above, but it is not less efficient. Besides, it offers perfect speed of payments processing and easy to use extension interface.

    PAYONE.de

    PAYONE is a payment gateway that mostly processes credit card payments in Germany. All transactions are absolutely secure and authorized, it is also possible to configure the currency converter and accept payments in both dollar and euro.

    Sage Pay

    Sage Pay is the largest independent online payment services provider in Great Britain. It is considered to be one of the most successful startups of the decade. The system is also very popular outside the United Kingdom.

    We hope that our review has helped you to determine which payment gateways are compatible with Magento Enterprise Edition. If you have any suggestions please write them in the comments to the article. Also please share the interesting information with your friends and partners and feel free to ask GoMage specialists any questions regarding Magento.

    Read More
  • Full Page Cache system

    Full Page Cache system

    In order to improve Magento performance speed it is necessary to enable caching. Generally, this procedure takes quite a long time for programmers and administrators however Magento Enterprise uses Full Page Cache system. We are going to review it in this article.

    Why Full Page Cache is needed

    Full Page Cache is a specific system of site pages caching which helps the server to load pages within a very short time (milliseconds). The server load is very low in this case, which is a significant advantage in comparison with standard caching systems.

    Full Page Cache system caches the whole page of your site. However, not all pages are cached. This helps to save a lot of time as not every part of the site must be cached. By default, caching is only done for product pages, category pages, CMS pages and 404 error links.

    Please pay attention to the configuration file where the following part of code is responsible for the cached pages:

    <frontend>
    	<cache>
       	<requests>
               <_no_route>enterprise_pagecache/processor_noroute</_no_route>
               <cms>enterprise_pagecache/processor_default</cms>
           	<catalog>
               	<category>
                       <view>enterprise_pagecache/processor_category</view>
               	</category>
           	</catalog>
           	<catalog>
               	<product>
                   	<view>enterprise_pagecache/processor_product</view>
               	</product>
           	</catalog>
       	</requests>
    	</cache>
    </frontend>
    

     

    But there are certain pages which are not cached by Full Page Cache. These include HTTPS pages and their variants with GET-parameter no_cache.

    How FPC works

    If you enable Full Page Cache all standard caching blocks and corresponding Magento extensions are disabled automatically. At the moment FPC is launched the event controller_action_predispatch is perfomed.

    /**
    * Check when cache should be disabled
    *
    * @param Varien_Event_Observer $observer
    * @return Enterprise_PageCache_Model_Observer
    */
    public function processPreDispatch(Varien_Event_Observer $observer)
    {
    	if (!$this->isCacheEnabled()) {
       	return $this;
    	}
    	$action = $observer->getEvent()->getControllerAction();
    	/* @var $request Mage_Core_Controller_Request_Http */
    	$request = $action->getRequest();
    	$noCache = $this->_getCookie()->get(Enterprise_PageCache_Model_Processor::NO_CACHE
      _COOKIE);
    	if ($noCache) {
           Mage::getSingleton('catalog/session')->setParamsMemorizeDisabled(false);
           $this->_getCookie()->renew(Enterprise_PageCache_Model_Processor::NO_CACHE_COOKIE);
    	} elseif ($action) {
           Mage::getSingleton('catalog/session')->setParamsMemorizeDisabled(true);
    	}
    	/**
    	* Check if request will be cached
    	*/
    	if ($this->_processor->canProcessRequest($request)) {
           Mage::app()->getCacheInstance()->banUse(Mage_Core_Block_Abstract::CACHE_GROUP);
    	}
       $this->_getCookie()->updateCustomerCookies();
    	return $this;
    }
    

     

    During the work of Full Page Cache each separate query receives its own identification number. The number depends on the group(s) to which a customer belongs, whether a user is authorized or not, etc.

    Another peculiarity is that Full Page Cache uses so-called placeholders. In Magento they are added using the configuration file cache.xml in the module folder called ‘etc’. Each placeholder is processed by the container.

    Full Page Cache is indeed very efficient and works perfectly reducing the server load and ensuring that your web store will work fast even when there is a high visits volume. If you have any additional questions regarding FPC functionality please feel free to contact GoMage Magento experts and request assistance.

    Read More
  • The advantages of Magento Enterprise

    The advantages of Magento Enterprise

    Free software is very convenient in terms of saving money which is very important now. But is this statement right in the field of internet business? Let us review the advantages of Magento Enterprise, a paid Magento edition, as well as some facts about Magento Community edition.

    Magento reference

    Magento is an open source code platform. A free edition can be downloaded from the official site and it is used by quite significant number of online businesses. Over 25% of entrepreneurs use this Magento edition. Originally, the system founders designed it to meet the requirements of customers from absolutely different business spheres.

    What are the advantages of the free Magento Community edition:

    1. There is a separate section where design files are stored. Unlike most of the site building systems in which design settings need to be looked for in various folders Magento has a specific directory for design configurations only;

    2. A huge quantity of additional modules. You can use different Magento extensions to extend your web store functionality. This is very convenient and efficient. The extensions can also be free or paid (those offer more functional capabilities, of course);

    3. Easy system upgrade. You do not need any specific skills to upgrade Magento Community system, the only disadvantage is that it is necessary to install each version in strict order, e.g. you cannot jump from 1.5 to 1.9 at once. You will need to upgrade it to 1.6, 1.7, 1.8 and only then install the version 1.9. From the other point of view, this is even good and will help you to avoid confusion in the upgrade order;

    4. At the very beginning, Community edition was created considering the requirements of both programmers and marketing specialists. The configuration of SEO, payment modules, product lines, sales, etc. - all is possible without a necessity to use third party extensions.

    But, despite all that, in time Magento presented a more extended edition which is mostly used by large companies. It is called Magento Enterprise.

    Main peculiarities of Magento Enterprise

    We should mention at once that Magento Enterprise is not a cheap purchase. It costs $15,550. However, for that price you get the whole set of functions that were not available in earlier editions.

    Magento Enterprise advantages

    1. A web store mobility. You can configure the system to work on mobile devices without installation of any third party extensions. The necessary module is built in the system which is very convenient. If you need any assistance with the configuration you are welcome to contact Magento experts of GoMage and ask for advice.

    2. The option of extended product offers is very useful. Now the web store owners can offer their customers those products in which they are actually interested. The list can be created with the help of the order history.

    3. A widened multi-language option, extended currency support and other useful features for large international web portals and stores.

    4. Extended SEO possibilities. For example, automatic site map generation, creation of an address list of sites that may serve as link agents, filling in metadata, etc.

    5. You can use the admin panel to manage customers’ data such as their location and order history. Besides, you can control all their actions.

    6. You have a possibility to run a private sale for VIP customers. This is very convenient for online auctions or just for stores that sale rare expensive products, such as Antiques, fashion boutiques, jewelry stores.

    7. The company states that Magento Enterprise edition performs catalogs re-index much faster, is better optimized for the search engines and is more flexible compared to Magento Community.

    8. A very simple and flexible tax calculation system that works without any additional extensions.

    9. But the most necessary option is probably the possibility of site certification to be able to accept direct credit card payments without installation of additional modules. Now you do not need to install additional extensions from PayPal.

    These are far not all advantages of the paid Magento edition. Naturally, it is only really large internet portals that actually need it, as they perform trade operations with a huge amount of clients every day.

    Read More
  • A few interesting facts about Magento

    A few interesting facts about Magento

    Magento is a very intriguing platform for web stores creation. Let us review a few interesting facts about Magento which you did not know, and also some popularity statistics of this platform.

    Facts about Magento

    Magento is considered to be the most dynamic web store creation system. It is hard to believe now but it was officially released in 2008. During the first few months the quantity of its customers grew to an almost fantastic number of several tens of thousands people. This was a unique event, a real breakthrough among the web store creation systems.

    At the moment, the quantity of sites based on this system has passed over the number of 125,000 and the value keeps growing every month. A huge part in its increasing popularity was played by a specific advertisement, as the most famous web stores are developed on Magento, we mentioned them in this article.

    Beside the sites we listed there, Magento customers also include Samsung (site mobileshop.samsung.fr), the official Ford site accessories.ford.com, Olympus cameras at getolympus.com. The main reason of such popularity is open source code which can be edited by customers or Magento experts they can hire, and also the system flexibility. Possibilities to use multi-language sites and create several stores on the same database are huge advantages, as well.

    It is also worth mentioning that Magento is known as the most secure system. Despite its open source, Magento is considered to be the most prepared to fight hackers’ attacks including DDoS-attacks. Even if you do not have any site administering skills you can perform all necessary settings to ensure absolute security of your web store data and your customers’ information.

    Magento installation package is downloaded from the official site about 5000 times a day and, according to statistics, this number keeps growing. However, you may also see a link to a pirate copy on some forums which is extremely dangerous as it can contain viruses. You should be careful and do not use files of unknown origin.

    There are a lot of various Magento modules which help you configure your store in the way you wish. Beside that some Magento extensions are used to extend the standard site functions and create new ones which is also very convenient. According to the latest data there are about 2000 extensions now.

    It is considered to be quite difficult to choose correct hosting provider to work on Magento, but it is not exactly right. It would be better to say that it is difficult to choose a good hosting provider. Magento system has specific server requirements, so get ready to spend some time searching for a hosting with corresponding servers. Although, there are about 185 companies which currently offer their service in this sphere.

    Unlike many other systems, Magento allows you create eCommerce templates by yourself. Naturally, this will require some programming skills but generally the process is not that difficult. Still, if you are not sure about your skills we highly recommend you to consult with GoMage specialists and you will have a guarantee that your site will work properly.

    You cannot but agree that this is very impressive for a system that only began its extensive work 6 years ago. By the way, the world-side known company eBay won the auction where Magento was being sold by investing 22,5 million dollars into it.

    Please share the most interesting facts about Magento that you know and add your comments on the facts we listed, we would like to know which of them have been most interesting to you.

    Read More
  • What the owner of an online store must not do

    What the owner of an online store must not do

    Do you want to run your own business and create an online store? Then we will share our observations regarding what should not be done after opening an online store and also mention some marketers’ observations.

    What you must not do

    Magento store is a perfect choice if a person wants to realize himself or develop their entrepreneurial flair. But not all the things go smoothly and according to the plan. Why? It seems that the promotion is working and the necessary Magento modules have been bought and even the business plan has been completed.

    What you should not do:

    1. Do not ignore the buyers’ complaints and demands. These are just the basics of business, the customer is always right. It is fully justified. You as a businessman should understand that people are different. Someone judges on goods and service objectively and someone just wanted to vent or express the negative emotions. You must be able to screen out such things, but in any case, you should not leave anything unattended and necessarily meet all the customers and try to satisfy their request;

    2. Do not steal ideas and descriptions from other sites. It is not only show you as a criminal, but it may entail the punishment by the search engines (leastwise, it is related to the duplicate content). Write everything yourself. It does not mean that you should create a unique and first-class description by yourself. You can hire a copywriter. The new ideas are necessary. The stolen ideas may not work out not only because they are stolen, but also because they are focused on a different kind of business or target audience;

    3. Try to pay as much attention as you can to the online store optimization. It is a very important item, otherwise you will be located at the end of the search engines pages (almost 80% of people do not go further than the second page while searching for the necessary information or a product). To get the most out of the content in your online store, hire a SEO-Optimizer, install the required extension (for example, GoMage SEO Booster), use the keywords and phrases in the products description and lead a blog;

    4. Change the style and description in the Magento store. Do not think that you can write the products description one time and forget about it. Firstly, add the products with a new data. Secondly, every product should have its unique description even if there are two same screwdrivers of different companies. Please your customers with a stylish updated design every season of the year. For example, it can be leaves when it is autumn, snowflakes when it is winter, green grass if it is spring and you can choose the sea if the season of the year is summer.

    5. Do not create a delivery problem. First of all, the owner of the international online store needs to take care of the logistics setting. Try to make contacts as clearly as possible, follow up the system of accounting and the principles of the products storage;

    6. Do not hold the flow of a new product. Regular updates are the way to success of any online store. Always keep the potential customers in suspense in order to make them wait for a new collection. It is very good if you have an opportunity to sell the old products with the discount. It will attract new customers. But, of course, it is the most convenient to organize such a style of the sales in the apparel online store;

    7. Do not work with beginners. Of course, we should give the chance to young specialist, but only in case if he is a real gifted or talented person. In all other cases you should choose only experienced partners who are checked with time and references. It may be programmers, copywriters, marketers, salespeople, Magento experts, etc. The main thing is to choose such a person who is versed in your business and like it.

    Perhaps these are the basic tips what the owner of an online store must not do. We will be glad to see your comments regarding this.

    Read More

Items 141 to 150 of 322 total

Browse Pages:
  1. 1
  2. ...
  3. 13
  4. 14
  5. 15
  6. 16
  7. 17
  8. ...
  9. 33