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 131 to 140 of 316 total

Browse Pages:
  1. 1
  2. ...
  3. 12
  4. 13
  5. 14
  6. 15
  7. 16
  8. ...
  9. 32
  • Black Friday and Cyber Monday are waiting for you!

    From November, 28 to December 1, we open a big sale! 30% discount for all GoMage extensions and extension upgrades!

    * Only 4 days this year - pay less to make your Magento store perfectly convenient, easy-to-use and unique!

    * - The discount will only be applied for the extensions and extension upgrades. Additional domains, installation service, feed configuration and customization services will be treated as normal.

    Read More
  • Orders delivery on holidays

    Orders delivery on holidays

    Traditionally, all stores have much more sales and orders on holidays when people start buying presents to their friends and families, as well as foods for holiday dinners and decorations for their homes. Due to such volume of customers the store owners often have some shipping related problems. Shipping products without problems on holidays is possible if your work is properly arranged.

    Christmas and New Year are wonderful holidays full of light and joy which make many people believe that they can change their lives by simply making a wish at midnight. In order to rejoice your customers you can use bright and beautiful Gomage Magento themes and broaden your range of goods. But what will please your customers most is receiving their purchases as fast as possible.

    How to arrange an online store work on holidays

    The main rule is to never postpone something for tomorrow if you can do that today. This is a very bad habit that may negatively influence your business and your life in general. You must understand that the faster you send the purchase to a customer the more pleased they will be with your store service.

    Try to always process the orders immediately after transaction. This will be very useful even if you cannot estimate precise quantity of orders on the days before holidays. Also, you should be prepared for the approaching rush.

    Make sure to inform your customers about the store working hours on holidays. It would be nice to place a banner with corresponding text on your site. Email notifications are also quite efficient and you may include there a slight hint for customers to get ready for coming holidays in advance.

    Contact your shipping service beforehand. It is very often that shipping companies delay the delivery due to increased volume of orders, even if you send the package in time. Try to develop the most convenient schedule for yourself, your customers and shipping companies. This especially concerns online stores which work with free shipping services. For example, known Chinese sites Aliexpress and TaoBao set the approximate delivery date within 20-40 days on average, but on holidays such as Christmas, New Year and Chinese New Year they have so many orders that shipping companies do not cope with delivering them in time. As a result, some customers have to wait for their orders for several months. In order to avoid such situation you should make all necessary arrangements with the paid shipping companies, they are much more accurate and have less load than free services.

    Always answer customers’ emails. On holidays customers expect fast delivery and seamless refund which is absolutely normal. But if you have no possibility to deliver the package in time for some reasons, inform the customer about that. If a customer has written you an email to express their dissatisfaction answer it in appropriate manner and precisely explain the situation.

    Another very useful advice would be to wrap the items much more carefully than usual. Shipping companies experience heavy pressure on the days before holidays while on other days they work on a standard schedule. As a result of that we often get overloaded transport chambers and too many parcels to be delivered, so some of them may get damaged. If you are about to send a precious cargo – do not save money on its wrapping, it should at least have several layers of protection.

    It is also very important to insure your cargo in such periods of time. When there are a lot of packages to be delivered there is always a possibility of their loss or damage. Make sure each of your packages is insured against theft, damage and other misfortunes. If you wish to include the insurance cost into customers’ payment sum, inform your customers about that on your site.

    If you follow the above recommendations you will not have any worries related to shipping products on holidays. Please ask your questions in comments or send them directly to our email, and Magento experts will do their best to answer you as soon as possible.

    Read More
  • How to increase Average Order Value in Magento

    How to increase Average Order Value in Magento

    Regardless of which platform is used to develop an online store the owners always wish their business to be as profitable as possible. Magento specialists share the ways of increasing the average order value in Magento and the steps necessary to be taken by the users.

    What "Average Order Value" is

    The Average Order Value is a sum of money that your customers are ready to spend regularly. Any store owner, whether their business is online or it is a physical store, must know that sum in order to adjust to its increasing or reducing in time. This factor is directly proportional to the efficiency of your marketing strategies. If you have chosen a correct promotion scheme your average order value will grow. If not then your monthly customers' orders sum will remain the same or reduce.

    It is worth mentioning that increasing the average order value is one of the simplest strategies of successful business. It is very difficult to always increase new clients' base and it is much faster and more convenient to make the existing clients buy more. There are several positive moments in this scheme:

    1. You are insured against season traffic reduce. Of course, if your store sells swim suits you will have less orders in winter but generally the average order value will stay the same as in summer;

    2. The system does not require large financial investments;

    3. You better understand your customers, you know what they need and what they do not usually buy, etc.

    Ways of increasing your average order value in Magento

    In order to increase your average order value per month you do not need to perform any unusual actions. The following simple steps will be enough:

    1. Group your products correctly. Depending on the store directivity you can use various products grouping schemes. For instance, offer ready sets or clothes at once. A cell phone can go with headphones and cover in a set, and in case of apparel, a set may include a dress, a handbag, shoes and accessories. In order to attract attention to your sets of products (containing several items) you may offer discounts or other privileges for them (free shipping, promo codes for further orders, etc).

    2. Use Up-Sell and Cross-Sell products. Always offer your customers additional products even if they are not related to the items they order. E.g. most customers believe in the strategy of "better quality for higher price", so offer them similar but more expensive products (Up-Sells), or return to the Cross-Sell products.

    3. Offer discounts and bonuses to your customers. Many large online stores actively use this strategy and it helps them to increase their sales significantly. You can make sale days or offer discounts to subscribers. Various bonus programs are also very successful (e.g. a client made an order for $100 and he receives $10 bonus for the next purchase). You can also offer your clients additional services or discounts if they make a wholesale purchase or order a set of products at once.

    4. Monitor the requirements of your clients. You must know their wishes, this pleases them a lot. When they open your site it is desirable that they see recommended products, you may use special Magento extensions to add that option. Let’s say a customer likes smart phones, so you can offer them brand new phone models. Another very efficient system is build on determination of customer’s geographical location and considering climatic data of specific regions (this system especially suits for online stores selling clothes).

    5. Develop a precise refund system. Any customer will trust your store more if you have strict rules for return or replacement of products which did not fit customers for some reasons, and refunding costs to customer’s credit card. Try to make this process as easy and fast as possible and do not create time-consuming schemes of filling papers.

    You may learn more details about this subject in the book “Five Strategies for Increasing Your Average Order Value” written by Magento development. We would highly appreciate if you share your comments about increasing average order value in Magento.

    Read More
  • Category output in Magento

    Category output in Magento

    When you start to work on Magento platform it is necessary to know how to perform the simplest settings and change standard system parameters. Category output in Magento is the main skill that the store owner or an administrator must have.

    How to output a category

    In order to do that you need to go to the admin panel, then to Catalog - Manage Categories, where the main category settings are performed.

    Before starting to create a new category you need to know some peculiarities of these actions in Magento. There are several product levels in this system:

    1. Default (Root);

    2. Subcategory;

    3. Root category.

    In the first case, these are main product categories. They are also called ‘Root’ and all other categories are created inside them and will be treated as ‘subcategories’ of the root categories. But, if you have several stores configured in Magento you can set different sets of categories for them. In this case you use Root category. Subcategory, in its turn, is a subcategory with specific functions and product items.

    Each category has its own unique set of properties and options which are also called category attributes. They are:

    1. Name - a name of a specific category;

    2. Is Active stands for the category status – active or not;

    3. URL key is the internet address (URL);

    4. Thumbnail Image is a category preview, a small image which may display the category content, for example;

    5. Description a category description that may be indexed by the search engines if corresponding settings are configured;

    6. Image is an image that is displayed on a specific category page;

    7. Page Title is a category title which is displayed in a browser address bar;

    8. Meta Keywords are main key words specified for this category, they are also indexed by the search engines if configured properly;

    9. Meta Description is category meta-tags, short description for the search engines;

    10. Include in Navigation Menu — this option is responsible for whether or not the category will be displayed in the top menu when ‘Flat category’ setting is enabled.

    There is also a tab called “Display Settings” on the category configuration page. You should pay special attention to it. You can perform the following settings there:

    1. Display Mode — how to display the category (e.g. show only products, products and a specific block, or a specific block only);

    2. CMS Block — if you have chosen products and a block in the previous option of category display, then here you need to set which exactly block will be displayed there;

    3. Is Anchor — this option enables the output of specific subcategory products on the category page;

    4. Available Product Listing Sort By — sort in listing;

    5. Default Product Listing Sort By — default sort;

    6. Layered Navigation Price Step — here you can configure products navigation by price.

    There is another block of category configurations, it is called Custom Design. It is a category type that will be visible to customers. We strongly recommend to change settings in this block only if you have some programming and designing experience. Otherwise it would be better to consult with GoMage Magento development.

    1. Use Parent Category Settings — this option helps to configure the output of a subcategory design in the same way as it is set for the parent category;

    2. Apply To Products — it means that the products will use the same Gomage Magento themes as the category page;

    3. Custom Design — here you can select the templates for a specific category, e.g. setup different themes for phones, apparel or food categories;

    4. Active From — selected design will be active starting from the certain date;

    5. Active To — selected design will be active till the certain date;

    6. Custom Design is a perfect function for configuration of holiday sales without using specific Magento extensions;

    7. Page Layout is a pages design configuration;

    8. Custom Layout Update — updating or addition of blocks using XML code.

    In Category Products you can select which products will be assigned to your category. It is very important to select the products very carefully in order not to mislead customers. At the same time, each product can be assigned to several categories (depending on its properties).

    There are two ways to create categories – through the admin panel or using special Magento API. The latter variant does not always save all settings correctly and you will have to check and correct them through the admin panel. Please note that this review of category attributes is valid for Magento Commerce Community but Magento Commerce Enterprise has a wider range of attributes.

    Read More
  • 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

Items 131 to 140 of 316 total

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