Quantcast
Channel: Webkul Blog
Viewing all 5557 articles
Browse latest View live

Odoo Website Hidden Product

$
0
0

Introduction

Odoo Website Hidden Product: Some of the eCommerce vendors want to provide the request based product view. Using this module admin can hide product for direct sale on Odoo website. Products like optional products, service products, virtual products can be hidden using this module. These hidden products are available for sale using the direct link instead of shop page.

Features

  • Hide Product On Website Sale Page.
  • Make Available for Direct Sale.

Installation

After buying Odoo Website Hidden Product you will get a zip file, which contains module. Unzip the file and now just copy `hidden_products` module folder into your Odoo addons. Now enable developers mode on your Odoo

  • Go to settings menu and Click on Activate the developer mode.
  • Now Go to Apps menu and Click on ‘Update Modules List
  • Remove the Apps filter

Now you will be able to see the module, just install it. After installing you will be able to handle different functionality as mentioned in module’s Workflow.

Workflow

Once the Odoo Website Hidden Product module is installed, click on Website admin> Webkul Website Addons.

Click on configuration link, a pop-up window will appear where you can select the products you want to hide on the website from the list of the products.

Click on the Apply button to save the settings.

Website Hidden Product Website View

Products like optional products, service products, virtual products can be hidden using this module. These hidden products are available for sale using the direct link instead of shop page.

Support

For any kind of technical assistance, just raise a ticket at https://webkul.uvdesk.com/ and for any doubt contact us at support@webkul.com


Website Email Verification

$
0
0

Introduction

Website Email Verification: It sends token based emails to the customers on signup. It helps to restrict check-out for unverified accounts. It also helps to send customizable token based emails for verification to the customers while signup.

Features

  • Send token based emails for verification to the customers while signup.
  • Set the validity of the tokens in the configuration by your own.
  • Accounts will not be activated until the email is verified.
  • On clicking the link sent to the email you will be redirected to a simple page.
  • Restrict unverified users from check out.
  • Resend email if the verifying link is expired or the user wants a new email.
  • Automatic redirection to login after clicking on the valid email link.

Installation

After buying Website Email Verification you will get a zip file, which contains module. Unzip the file and now just copy `email_verification` module folder into your Odoo addons. Now enable developers mode on your Odoo

  • Go to settings menu and Click on Activate the developer mode.
  • Now Go to Apps menu and Click on ‘Update Modules List
  • Remove the Apps filter

Now you will be able to see the module, just install it. After installing you will be able to handle different functionality as mentioned in module’s Workflow.

Requirements: There should be dbfilter and db_name  in the config file of your server.

Workflow

Once the Website Email Verification module is installed, click on Website admin> Webkul Website Addons.

Configuration 

Click on configuration link, a pop-up window will appear where you can enable the restriction on check-out for unverified users. Define Token validity period in the number of days and click on the apply button to save the default settings.

Customize Email Template For Email Verification

Notification For Unverified Account/ Token 

Check-out Restriction For Unverified Account

Notification For Expired Link 

Notification For Verified Account

Support

For any kind of technical assistance, just raise a ticket at https://webkul.uvdesk.com/ and for any doubt contact us at support@webkul.com

Shopify Multivendor Marketplace – Make An Offer

$
0
0

You can use Make An Offer Featured App, if you are using the Shopify Multivendor Marketplace App. With the help of this featured app, you can not only increase the conversion rate but can also reduce the abundant cart on your Store.

With the Make An Offer App, you can have the customer request quote for the product/service as per the requirement and through this you can also check the customers offer request. You will have the customer details and you can use them to contact the customer and can convert the purchase.

Avoid loosing sales. As now you can have the customer information so you can personally pursue them for the purchase.

This a featured app within the Multivendor App at an additional cost of 10$ per month apart from the monthly costing of Multivendor App.

 

Features

  • Helps converting your store visitors to customers by providing them best of offer.
  • Admin/Store Owner can enable the feature for the seller/vendor.
  • The seller can have the “add to cart” disabled for the products and add “Request a Quote” option.
  • Email notification sent to the seller/admin as per the app configuration.
  • Change the labels on your own as we have provided the option for label translation too.
  • The fields in “make an offer/request” form for the customer are editable.

Activation

To enable Make An Offer feature, go to “feature apps” menu in the Multivendor App. It will cost you 10$ USD per month in addition to the multivendor app plan.

Once you have enabled the feature, you need to accept the additional monthly charges for the feature added to the multivendor app charges.

Front End Display

To have the Make An Offer applied on the product, seller end, customer end, you need to copy and paste the following in the liquid file on the Shopify Store.

–>> Copy the following code into product.liquid (or product-template, if exist) template to display the “make-an-offer” button.

<div id="wk_make_an_offer" data-pid ="{{product.id}}" data-vid ="{{variant.id}}" {% if customer.id %} data-cid ="{{customer.id}}"{% endif %} style="display:none; padding:5px;"></div>

–>> Copy the following code into customers/account.liquid template to display the customer offer request button on customer account page.

<div id="wk_make_an_offer_div" style="clear: both!important; margin:10px 0!important;">

–>> Hide Add to Cart button on your store’s product description.

<{% unless product.tags contains 'wk_rfq' %}		{% endunless %}

Admin End Configuration

Once “make an offer” feature is enabled, two new menu will be added to the admin end in the app.

Admin needs to configure it from the “Make An Offer Configuration” menu :

This way once the admin will set the configuration and now once the customer submits the request then the admin can view the request (if the configuration has been set so) in the “Make An Offer Request” menu in the app. Here admin can view all the requests.

The Admin can either Accept or Reject the Request from the Customer.

If the Admin accepts the offer then it is send to the Customer for the payment to be made.

If the Admin rejects the Request then the Customer can again request for it.

Seller End Configuration

Once the seller has logged into the account on the app, can view the request from the customer under “make an offer request” menu.

The Seller will view the received request from the Customer.

The seller will view the details, can accept or reject the request/offer from the customer. Here we also provided the option to add the shipping cost to the price requested.

If the seller adds the shipping cost and changes the status to accept then once the changes are saved, the customer gets notified about the offer from the client.

It might be possible that you don’t want the seller to add any fees and accept or reject the offer/request from client, then seller can simply uncheck the shipping cost and leave it blank.

NOTE : If admin enable “auto draft enable” then a draft order is created once the seller/admin accepts the request (if in case you check the shipping cost option) and the customer requests the invoice from his end. But if you do not check the shipping cost option then draft order is created once the customer accepts the request, ie requests the invoice.

Customer End

The Customer can request a quote / make an offer for the product from the product page, as shown below :

Once the customer clicks the button, a form opens up and the customer can submit the request by submitting the details in the form.

Once the customer submits the form, the same request is sent to the product seller as well as to the admin. They can view it from the “make an offer request” menu in the app.

And as shown above, the seller can either accept or reject the request.

The customer can view the offers/request made from the my account section on the shopify store.

If the seller/admin rejects the request then it ends here. But if the seller/admin accepts the request then the same information is seen by the customer in his account on the shopify store and an email is also sent to the customer.

Now the customer can either deny the request or can request invoice, then the seller needs to send an invoice. The the status is changed to “invoice created” and now the customer can checkout and buy the product.

Also note that as soon as the customer submits the form, a customer account is created on the store and an email is sent to the customer, if the customer is not registered on the shopify store.

This was the whole process by which the store owner can have the offer/request from the customer and can offer him the desired product with affordable pricing.

Support

Furthermore for any kind of technical assistance, just raise a ticket at : http://webkul.uvdesk.com/and for any doubt contact us at shopify@webkul.com

Thanks for reading the blog.

 

Using Redis Cache In Opencart

$
0
0

Nowadays, caching has become a hot topic of discussion as everyone wants to maintain their website’s speed even on handling millions of users at a time. Opencart is using caching since its initial days like used file cache in version 1.5, then added APC (Alternative PHP Cache) and Memcache in version 2 and now in version 3 added Redis library.Opencart is using caching since its initial days like used file cache in version 1.5, then added APC (Alternative PHP Cache) and Memcache in version 2 and now in version 3 added Redis library.

Redis Introduction

Redis has its own advantages. According to their website, Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

Redis is an in-memory data structure server. You can add any values to Redis cache like integers, string etc.

How to use Redis with Opencart?

In order to use Redis with Opencart, you have to first install Redis to your server. Here is the Download Link.

Then you have to install phpredis to your server.

You can check Redis in phpinfo().


Now, you have to make some changes to your opencart system. You have to edit system->config->default.php and change the value of $_[‘cache_type’].

$_['cache_engine']         = 'redis';

You also need to define a few constants. Either you can make changes in both config.php and admin->config.php or you can perform change either in system->startup.php or system->framework.php (before cache object in this case). You have to define following constants.

define('CACHE_HOSTNAME', '127.0.0.1');
define('CACHE_PORT', '6379');
define('CACHE_PREFIX', 'redis_');

Now, you are complete with the changes in Opencart and you can make use of Redis on your website.

Odoo Website Product Size Chart

$
0
0

Introduction

Odoo Website Product Size Chart: This module provides a simple interface where admin can assign a single size chart to thousand of products at once. Odoo Extensions add a Size Chart Feature of Odoo Products. If you are running a shop which lists the product like shoes, jeans which required Product measurement guide then this module has the perfect solution for your Product measurement. Using this module you can assign the measurement information like image, table, text with your products.

Features

  • Provides the dynamic size chart guide.
  • It helps to display size options.
  • Displays measurement information.
  • Displays size chart related image.
  • Helps in Convincing the Customer.

Installation

After buying Website Product Size Chart you will get a zip file, which contains module. Unzip the file and now just copy `website_product_size_chart` module folder into your Odoo addons. Now enable developers mode on your Odoo

  • Go to settings menu and Click on Activate the developer mode.
  • Now Go to Apps menu and Click on ‘Update Modules List
  • Remove the Apps filter

Now you will be able to see the module, just install it. After installing you will be able to handle different functionality as mentioned in module’s Workflow.

Workflow

Once the module is installed, click on sales menu> size chart menu.

Now, click on create button, to create a new size chart configuration.

Define desired fields like size chart title, number of rows and columns in chart, customised link text.

Now, define size chart headers name and how to measurement will work in “how to measure” field.

Under associated products> add products on which you want to implement the defined size chart. Click on Save button to save the settings.

Website View 



Support

For any kind of technical assistance, just raise a ticket at https://webkul.uvdesk.com/ and for any doubt contact us at support@webkul.com

Odoo Different Weight For Product’s Variant

$
0
0

Introduction

Odoo Different Weight For Product’s Variant: This module allows you to set different weight, volume for product’s attribute. You can set weight, volume, net weight for product’s variants other than that of Product’s template. Earlier product template’s weight, volume, net weight were carried forward to its variants and different weight etc. were not possible.

Features

Allows setting different weight, volume for product’s attribute.

Installation

After buying Odoo Different Weight For Product’s Variant you will get a zip file, which contains module. Unzip the file and now just copy `product_variant_weight` module folder into your Odoo addons. Now enable developers mode on your Odoo

  • Go to settings menu and Click on Activate the developer mode.
  • Now Go to Apps menu and Click on ‘Update Modules List
  • Remove the Apps filter

Now you will be able to see the module, just install it. After installing you will be able to handle different functionality as mentioned in module’s Workflow.

Workflow

Once Odoo Different Weight For Product’s Variant module is installed, under product variants menu> you can define different weights for desired product variants.

If you wish to set different weights for different product variants, you may consider our this module named Odoo Different Weight For Product’s Variant which allows you to set different weight, volume for product’s attribute. You can set weight, volume, net weight for product’s variants other than that of Product’s template. Earlier product template’s weight, volume, net weight were carried forward to its variants and different weight etc. were not possible.

Support

For any kind of technical assistance, just raise a ticket at https://webkul.uvdesk.com/ and for any doubt contact us at support@webkul.com

CS-Cart Auto Guest Registration

$
0
0

CS-Cart Auto Guest Registration:
With this significant add-on, you can automatically register the user who places an order as a guest on your site. CS-Cart Auto Guest Registration add-on also syncs the previously placed orders as a guest with the respective user account. So, the user can see all his previous orders in the newly created account. The add-on allows to create an account after successful order placement using the e-mail address specified by the guest user during checkout and generates a random password. The user id and password are displayed in a pop-up after order placement which the customer can use for future references. The newly generated customer logs into account automatically after successful order placement.

Features & Benefits

  • Well integrated with CS-Cart Multi-Vendor.
  • Creates an account for the user placing an order as a guest.
  • Functionality to sync the previously placed orders as a guest with the respective email account.
  • Generates password and shares the account login details with the user.
  • Customer logs into the account automatically right after successful order placement.
  • Easily configurable – Just do some settings and it is ready to use.
  • Easy to manage at admin end.

How To Upload and Install

After downloading CS-Cart Auto Guest Registration, you will get a zip file and install.txt . Read the install.txt carefully and configure it accordingly.

Go to “Manage add-ons”, click on “+” to upload and install the zip file as shown below.
Upload
Click on “Local” to browse the zip file and then click on “Upload & Install” as shown below in snapshot.

Credit Europe Bank - Virtual POS Payment Integration for CS-Cart

Configuration

After installing CS-Cart Auto Guest Registration, Click on Settings as shown below :

settings

Set the below-mentioned options :

  • Click the checkbox to Enable guest registration. If enabled, the user will get registered automatically on successful order placement.
  • Tick the checkbox to merge the previously placed order as a guest email with the newly created account associated with the same email.

settings1

Work Flow

On your site, If the user opts to check out as a guest as shown below and proceeds,

checkout

 

Then, the account will be generated automatically on order placement as per the email entered in the address details.address

And the user will be able to view the user id and password of the newly created account on successful order placement.

order placed

This registered user will be listed under Customers at the backend as shown below.

customer

Now if the user has already placed orders as a guest from your site (Before installing the addon), the orders associated with the email id of the user will be synced with the newly created customer account. The customer will be able to view all his orders as shown below :

Guest orders from the user (Before installing the addon) :

order

Synced orders with the respective account :

customer login

synced orders

This is how the add-on CS-Cart Auto Guest Registration works!

Support

This is all about CS-Cart Auto Guest Registration add-on. Still, have any issue, feel free to contact us at http://webkul.uvdesk.com and let us know your views to make the addon better.

Creating Side Menu in X-Cart Admin Area

$
0
0

We are considering that your are using the x-cart( version 5.3 or above). Now let’s learn that how to list a Side Menu in x-cart admin area for our module. Please follow as given below:

Step-1:
First You need to create an empty module for which you want a side menu in admin area of x-cart. For example: Here I am creating a module which Developer Id as Webkul and Module Id as SideMenu.
Step-2:

You need to decorate your SideMenu Class (\Xlite\View\Menu\Admin\SideMenu) in your module. For that you have to create SideMenu.php file in your module at the path (/classes/Xlite/Module/Webkul/SideMenu/View/Menu/Admin/SideMenu .php) with the code of content given below:

// vim: set ts=4 sw=4 sts=4 et:

namespace XLite\Module\Webkul\SideMenu\View\Menu\Admin;

abstract class SideMenu extends \XLite\View\Menu\Admin\SideMenu implements \XLite\Base\IDecorator
{
        /**
     	* Define and set handler attributes; initialize handler
    	*
     	* @param array $params Handler params OPTIONAL
     	*/
    	public function __construct(array $params = array())
    	{
        	if (!isset($this->relatedTargets['sub_side_menu1_controller_class_name'])) {
            		$this->relatedTargets['sub_side_menu1_controller_class_name'] = array('sub_side_menu1_controller_class_name');
        	}
        	parent::__construct();
    	}

        /**
     	* Define items
     	*
     	* @return array
     	*/
    	protected function defineItems()
    	{
        	$list = parent::defineItems();
        	if (!isset($list['SideMenu'])) {
            		$list['SideMenu'] = array(
                			static::ITEM_TITLE    => static::t('Side Menu'),
                			static::ITEM_TARGET   => 'menus',
                			static::ITEM_WEIGHT   => 700,
                			static::ITEM_ICON_SVG => 'images/side_menu.svg',
                			static::ITEM_CHILDREN => array(),
            		);
        	}
       		$list['SideMenu'][static::ITEM_CHILDREN]['subscribers'] = array(
            		static::ITEM_TITLE  => static::t('Sub Side Menu 1'),
            		static::ITEM_TARGET => 'sub_side_menu_1_controller_class',
            		static::ITEM_WEIGHT => 200,
            		static::ITEM_ICON_SVG => 'images/sub_side_menu_1.svg',
        		);
        		$list['SideMenu'][static::ITEM_CHILDREN]['notif_tmplts'] = array(
            		static::ITEM_TITLE  => static::t('Sub Side Menu 2'),
            		static::ITEM_TARGET => 'sub_side_menu_2_controller_class',
            		static::ITEM_WEIGHT => 300,
            		static::ITEM_ICON_SVG => 'images/sub_side_menu_2.svg',
        		);
        		return $list;
    	}
}
Step-3:

You need to decorate your SideMenu Class (\Xlite\View\Menu\Admin\SideMenu) in your module. For that you have to create SideMenu.php file in your module at the path (/classes/Xlite/Module/Webkul/SideMenu/View/Menu/Admin/SideMenu .php) with the code of content given below:sidemenu

Hope that will help you. Thank You 🙂

Odoo Marketplace POS Extension

$
0
0

Introduction

Odoo Marketplace POS Extension- The POS Marketplace Extension module allows you to sell your seller’s products through Point of Sale panel. It also helps to maintain the record of the POS orders separately for both marketplace seller and admin under POS orders menu.

NOTE: This Module is dependent on Odoo Multi Vendor Marketplace

Features

  • Sell marketplace products through POS panel.
  • Manage separate POS orders for marketplace products.
  • Manage separate delivery orders for POS orders for marketplace products.
  • Separate information for POS orders for marketplace products on dashboard

Installation

After buying Odoo Marketplace POS Extension you will get a zip file, which contains module. Unzip the file and now just copy `marketplace_pos` module folder into your Odoo addons. Now enable developers mode on your Odoo

  • Go to settings menu and Click on Activate the developer mode.
  • Now Go to Apps menu and Click on ‘Update Modules List
  • Remove the Apps filter

Now you will be able to see the module, just install it. After installing you will be able to handle different functionality as mentioned in module’s Workflow.

Workflow

OnceOdoo Marketplace POS Extension module gets installed, Click on seller dashboard menu.

Module Functionality at Admin’s end

Now at admin’s end, you can check separate Marketplace POS Orders box with all marketplace’s sellers paid order and invoiced order record. 

The admin can check the POS orders details for all customers with their corresponding order status by clicking on Seller DashboardPOS orders menu.

Under Point of Sale menu> click on orders menu to check the details of the order generated from the marketplace.

Module Functionality at Seller’s end

Now at seller’s end, you can check separate Marketplace POS Orders box with his paid order and invoiced order record.

The seller can check the POS orders details for all customers with their corresponding order status by clicking on Seller DashboardPOS orders menu.

Support

For any kind of technical assistance, just raise a ticket at https://webkul.uvdesk.com/ and for any doubt contact us at support@webkul.com

Odoo Marketplace Seller Badges

$
0
0

Introduction

Odoo Marketplace Seller Badges: Allow admin to add different badges for different sellers. Badges will be displayed on Website so that the buyers can see the reputation of that seller.

NOTE: This Module is dependent on Odoo Multi Vendor Marketplace

Features

  • Admin can add create badges.
  • Admin can add badges to different sellers.
  • Multiple badges can be assigned to the seller.
  • Buyer can see badges at seller’s profile page and product page.
  • Admin can publish or unpublish any badge at any time.
  • The admin can show/hide badges seller wise as well.
  • Admin can manage the seller’s badge from seller profile as well.
  • Admin can do editing of badges like the description of badge or name etc.

Installation

After buying Odoo Marketplace Seller Badges you will get a zip file, which contains module. Unzip the file and now just copy `marketplace_seller_badges` module folder into your Odoo addons. Now enable developers mode on your Odoo

  • Go to settings menu and Click on Activate the developer mode.
  • Now Go to Apps menu and Click on ‘Update Modules List
  • Remove the Apps filter

Now you will be able to see the module, just install it. After installing you will be able to handle different functionality as mentioned in module’s Workflow.

Workflow

Module Configuration

Under Seller Dashboard> configuration settings> enable the option “Show seller Badge on website” option.

Admin View

Now, under Badges menu> by clicking on create button admin can create badges and can assign it to desired sellers.

While creating the badge, you can define badge name, description of the badge, image and can select sellers from the list of sellers to whom admin want to assign the particular badge. Please make sure to publish the badge to implement it.

Admin can directly assign badges to particular seller by visiting his profile. By clicking on seller dashboard menu> seller menu> under marketplace settings & details portion visit Badges tab and click on create.

Seller view

Now, Seller can check all the assigned badges by clicking on seller dashboard menu> my profile menu> under marketplace settings & details portion visit Badges tab.

Website View

On website view, the corresponding seller’s badges will be visible on his profile page and his corresponding product pages.

 

Support

For any kind of technical assistance, just raise a ticket at https://webkul.uvdesk.com/ and for any doubt contact us at support@webkul.com

FIX: Mixed Content Errors while serving ODOO POSBOX over HTTPS

$
0
0

In this article, we`ll check different approaches to fix the mixed content errors we received in ODOO, served over HTTPS, while connecting with POSBOX. But before starting we need to know some basic terms related to it, lets begin:

What is HTTPS ? What are the benefits of using HTTPS over HTTP ?

When we visit a web page using HTTP protocol, your connection to the website is not secured. Hackers can easily do eavesdropping here, and can stole your data which webpage and your server communicates.

That’s why we have HTTPS protocol, The ‘S’ at the end of HTTPS stands for ‘Secure‘. It means all communications between your browser and the website are encrypted. This keeps your information safe from hackers. HTTPS is extremely important if we are using any payment gateways or other password related things in your websites.

What is “mixed content”?

Mixed content error occurs when we try to access a web page which is on HTTPs but the web page’s source code is also pulling some other resources with the insecure HTTP protocol. In this scenario, browsers display a warning/error message saying that the page has both HTTPS and HTTP content, i.e MIXED CONTENT.

Odoo POSBOX blocked by “Mixed Content” Security Policy

After migrating ODOO from http to https, posbox stopped working we have this mixed content problem which prevents loading http resources from a page served in https. In other words if your point of sale is served over https, browser will block the http connection to the posbox. Error message which we are receiving in browser is something like :

Mixed Content: The page at https://192.168.1.78/pos/web/#action=pos.ui‘ was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint http://192.168.1.93:8069/hw_proxy/hello‘. This request has been blocked; the content must be served over HTTPS. send @ web.assets_common.js:954


There are several approaches to fix this issue, which i `ll explain in this article:

Approach 1: Deactivate mixed content security in your browser. [ Works only with Firefox, No workaround found for Chrome/Safari till date ]

To disable mixed content warnings in Firefox open Firefox, enter about:config into address bar and hit Enter. Using the search box, search for a setting called security.mixed_content.block_active_content. Once you have found it, set it to false.
Unfortunately we can`t disable this security in case of Chrome or Safari, we have to use some other approaches in order to fix this issue.

Approach 2: Serve the point of sale over http. [ Have to compromise with loading some of ODOO data in plain HTTP ]

We can serve our point of sale in plain HTTP, and rest of our ODOO as HTTPS by configuring nginx to only serve the point of sale route /pos/web in HTTP.

Approach 3: Migrate POSBOX as well, in HTTPS. [ Best Approach Found till date ]

Install & configure nginx in posbox also, and append https:// with the IP address while configuring in your Point of Sale.

I have created a image having nginx properly installed and configured in it, if someone looking for the same, can use it. what you need to do is :

  • Download Image ODOO-POSBOX-HTTPS.zip
  • Extract it, and burn it in the memory card, same way as you did for original posbox image.
  • Run your posbox, if you hit your posbox ip address in browser as : https://<posbox-ip-address> , you`ll see your POSBOX default homepage.
  • Put this https://<posbox-ip-address>, in your Point-Of-Sale configuration as: 
    That`s it…

Thanks for reading this blog !!! I hope it will help someone.

Your opinions, comments and suggestions are important to keep this extension updated and more usefull !!!

Opencart Marketplace In Version 3

$
0
0

Today we will see about Opencart Marketplace at admin panel in Opencart Version 3. Opencart added the Marketplace which are useful for the store admin for searching, installing, downloading, commenting  and filter the Opencart extensions from admin panel instead of visiting their official sites.

Work-Flow:

Opencart added the marketplace directory to the admin/controller. Their are marketplace.php which gets the information about the extensions from Opencart official site through the curl in JSON Format.

Opencart Marketplace Api, validate the store domain to access the full feature of Marketplace API. Opencart uses the HMAC signature validator process for validating the store. Opencart creates the query string for signature through API Name string, Opencart User Name, Host Name, Version, Current Timestamps . It generates the signature through the Opencart Secret Key.

//Generating Query String for signature
$string  = 'marketplace/api/list' . "\n";
$string .= $this->config->get('opencart_username') . "\n";
$string .= $this->request->server['HTTP_HOST'] . "\n";
$string .= VERSION . "\n";
$string .= $time . "\n";

//Generating Signature through Hmac using Opencart Secret Key
$signature = base64_encode(hash_hmac('sha1', $string, $this->config->get('opencart_secret'), 1));

After generating the signature it creates the url from username,domain,version,time,signature and other filters of extension such as filter category, filter license, page etc. and after then it sends the curl request to the Marketplace API of Opencart Official site and get the corresponding information about the extension.

$curl = curl_init(OPENCART_SERVER . 'index.php?route=marketplace/api' . $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FORBID_REUSE, 1);
curl_setopt($curl, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($curl, CURLOPT_POST, 1);

Opencart secret key can be generated from the Opencart Official site by registering the store by clicking on You Stores under the Purchase section and configured it at your own store for get more feature access of the Opencart Marketplace API.

 

After that store admin can configure them and can access the Marketplace Api from the admin panel.

Add Custom REST API Route WordPress

$
0
0

This blog describes about – how we can add custom REST API routes in WordPress. The use of API is very common now a days. So, when we work with API’s we need some custom routes also with default ones so that we can facilitate intended tasks.

When we add our custom routes, its important that we don’t affect the default one’s. We should add new routes in with default one’s not in place of default routes. Here we go,

We use rest_api_init hook which fires when preparing to serve an API request.

add_action( 'rest_api_init', 'wk_register_custom_routes' );

Now, we register our route in callback function of above action using function register_rest_route –

function wk_register_custom_routes() {
   register_rest_route( 'package/v1', 'abc/xyz', array(
       'methods'  => GET/POST,
       'callback' => 'wk_route_callback' ),
   ) );
}

Here, first parameter represents namespace which should unique to plugin, second is the base url for our route. Third parameter is the argument array. We can use fourth parameter also which is optional i.e override, means if route already exists the route will be override if set to true.

In methods argument we write GET/POST, here we can also use WP_REST_Server constants, e.g  WP_REST_Server::CREATABLE means PUT/POST,  WP_REST_Server::READABLE means GET, etc.

Using the callback function we specified while registering the route we can perform actions we want to do using registered route.

function wk_route_callback() {
   // code
}

Reference https://developer.wordpress.org/reference/functions/register_rest_route/.

Support

Still have any issue feel free to add a ticket and let us know your views to make the code better https://webkul.uvdesk.com/en/customer/create-ticket/

Thanks for Your Time! Have a Good Day!

 

Prestashop Advanced Progressive Web Application

$
0
0

Prestashop Advanced Progressive Web Application – A Progressive Web App (PWA) uses modern web capabilities to deliver an app-like experience to users.

Web apps they are actually websites that, in many ways, look and feel like native applications.

Mobile applications with push notifications achieve up to three times more retention than their counterparts without push, and a user is three times more likely to reopen a mobile application than a website. In addition, a well-designed mobile application consumes less data and is much faster because some resources reside on the device.

The Progressive Web Application is lightning fast in compared to the website and supports push notification.

With the use of this feature, the website works faster on a slower internet connection. Due to the faster performance the user engagement increases on the website and results in a very high conversion rate.

Grab our PWA for Prestashop for an overall intimate user experience.

Module Highlights !

  • Your Prestashop Website becomes lightning fast to use.
  • User Friendly Experience for your Customers.
  • Supports Push Notification Service.
  • Slow Internet Speed will not affect its potential.
  • Once a page is opened then the same page can be opened even on offline mode.
  • Increases User engagement thereby Increasing the conversion rate.

Note

  • You need to enable SSL on your shop
  • Compatible Browsers – Chrome, Firefox, Opera

Module Features

  • Admin can set the Application name as it will be displayed when App is opened on Mobile phones.
  • Admin can set the Application’s Short name as it will be displayed on App Home Screen.
  • Admin can enter the Splash Screen Background Colour.
  • Admin can upload the App Icon.
  • Admin can upload the Push Notification Icon.
  • Admin can create Push Notifications.
  • Admin can Edit/Delete/Send Push Notifications.
  • Admin can attach a Target URL when user clicks on Push Notification received.
  • Admin can attach a separate Notification icon for each Push Notification.

Installation

  1. Go to back office ->module
  2. Upload the module zip file
  3. Search “Advanced Progressive Web Application” in module search box then go to module and click on install.

 

Module Installed Successfully !

How to Set up the Progressive Web Application

All that your customer needs to do is open your prestashop site on their mobile device. Here we have shown the working on chrome. From here customer can click on menu icon of chrome to add the application on the home screen.

From the chrome menu, a user can select ‘Add to home screen’ option to add the progressive web application to the home screen.

 

 

 

Configuration

Configuration is divided into two blocks :

  • Progressive Web App Configuration
  • Push Notification Configuration

We shall check each block in complete details

Progressive Web App Configuration

In this section of the Configuration  :

  • Admin can set the Application name as it will be displayed when App is opened on Mobile phones.
  • Admin can set the Application’s Short name as it will be displayed on App Home Screen.
  • Admin can enter the Splash Screen Background Colour.
  • Admin can upload the App Icon.
  • Admin can upload the Push Notification Icon.

Let’s Show You what are these actually when opened on a Mobile. Now the user can see the application icon on the home screen of the mobile like this. A user can click on the application to launch it. After clicking on the application, the application launches with a splash screen. The splash screen shows the application name and icon. The application launches in the same way as the native app.

After splash screen, a user can see the home screen of the application. From here a user can explore your website.

Push Notification Configuration

In This Section of the Configuration Admin has to enter Sender’s Key and Server Key in order to activate the Push Notification System.

In the next section of this Blog, we shall explain how to obtain the Credentials for Push Notification Configuration.

How To Obtain Push Notification Credentials

In order to use this module, you need to have Firebase Project Credentials, which will be used in the Module configuration. Please visit this link and create a new project with your Gmail Account.

  • After opening Firebase website, please click CREATE NEW PROJECT button as shown in the above screenshot.
  • A small pop-up window will appear with the name of Create a project, here you have to enter your Project Name and then select your Country/Region.
  • Click CREATE PROJECT button.

After creating your new project click Settings menu icon and select Project Settings option. A new Settings page will be opened.

After entering the Settings page, click CLOUD MESSAGING tab, here you will find your Project Credentials, copy and save your Server Key and Sender ID as displayed below.

Use these credentials in the Module Configuration to enable Push Notification service.

Push Notification Management

This modules provides a striking feature to your website by enabling Push Notification Mechanism.

A new tab gets added to Prestashop Backoffice.

Click on Manage Push Notification tab and from here admin can add push notifications.

Admin will have a panel where he will be able to add a new push notification.  Admin will specify the Push Notification title, Body, Target URL and the Notification icon.

Admin can view all the Push Notifications added in a list view.  From here admin can  edit, delete or send Push notifications.

Thank you for reading this Blog 🙂

We hope this Addon will enhance the functionality of your prestashop store.

Support

For any kind of technical assistance, just raise a ticket at : http://webkul.uvdesk.com/ and for any doubt contact us at support@webkul.com

 

How to write a wrapper class in APEX

$
0
0

Any Salesforce developer would be familiar with creating parent child relationship queries in APEX. For example getting a list of products with their respective prices we use such queries. However when we take that data to Visualforce pages it becomes a little bit hectic to show that data. This problem can be solved with the help of wrapper class. This is what I am going to show you today, how to create a wrapper class in apex.

APEX code

For this example we will be making a small module to mass update product active status. As we all know products have an isActive boolean value which tells whether the product could be added to a pricebook or not. The controller code for this module is as follows:

public class wrappertest {

    public list<productwrapper> recordlist { get; set;}
    public list<selectoption> status;
    public string selectedstatus { get; set;}

    public wrappertest(){
        list<product2> pro = [select id, name, isactive from product2];
        if(pro.size()!=0){
            recordlist = new list<productwrapper>();
        }
        for(product2 p:pro){
            recordlist.add(new productwrapper(p));
        }

        selectedstatus = 'active';

    }

    public list<selectoption> getStatus(){
        status = new list<selectoption>();
        status.add(new selectoption('active','Active'));
        status.add(new selectoption('inactive','In-Active'));
        return status;
    }

    public void changestatus(){
        list<product2> prolist = new list<product2>();
        for(productwrapper pw: recordlist){
            if(pw.selected){
                if(selectedstatus == 'active'){
                    pw.record.isactive = true;
                }else if(selectedstatus == 'inactive'){
                    pw.record.isactive = false;
                }
                pw.selected=false;
                prolist.add(pw.record);
            }
        }
        update prolist;
    }

    public class productwrapper{
        public boolean selected { get; set;}
        public product2 record  { get; set;}
        public productwrapper(product2 record){
            this.record = record;
            selected = false;
        }
    }
}

In the above example I have created an inner-class at the bottom of the code which is the most important part of this controller. That class holds a boolean variable and an object of product2 type. The use of this variable will be explained later on in the code. For now, lets focus on the other parts. We have a list of productwrapper type and this list is being iterated over to check or uncheck the isActive field. One thing to notice here is that I have added all the record object to a list of product2 type. That is because DML does not work on Wrapper class and you have to take out the object to perform a DML operation on that object.

Visualforce Code

The code for the visualforce page is as follows:

<apex:page controller="wrappertest">
    <apex:form>
        <apex:selectList value="{!selectedstatus}" size="1">
            <apex:selectOptions value="{!status}"/>
        </apex:selectList>
        <apex:commandButton action="{!changeStatus}" value="Update Status"/>
    	<apex:datatable value="{!recordlist}" var="rec">
        	<apex:column>
            	<apex:inputCheckbox value="{!rec.selected}"/>
            </apex:column>
            <apex:column value="{!rec.record.name}" headerValue="Product Name"/>
            <apex:column value="{!rec.record.isActive}" headerValue="Active"/>
        </apex:datatable>
    </apex:form>
</apex:page>

In this page we have used the wrapper class list to show the data in the data table. Here we have used the selected boolean value of the wrapper class. The value is now mapped to the checkbox. When the checkbox will be selected this value will become active and it will be reflected back in the controller. The rest is just basic visualforce code.

Output

The output of my code will be something like this:

Support

That’s all about using wrapper class, for any further queries feel free to add a ticket at:

https://webkul.uvdesk.com/en/customer/create-ticket/

Or let us know your views on how to make this code better, in comments section below.


Translation Workbench In Salesforce

$
0
0

In this blog we are going to learn about translation workbench in salesforce.

Translations

–> It is metadata type which can used to specify in which language you want to translate your organisation languagae.

–> To enable the translation we first enable translation workbench. GoTo|| Setup|| Translation Workbench || Translation Setting . Now enable  the translation workbench from here.

–> Now add the language  to supported language and assign to user.

–> If want to add the translation of any salesforce component (any component which you create in salesforce like custom field name, global values etc.).   GoTo|| Setup|| Translation Workbench || Translate. Add your translation here.

–> If you want to override the language of any component which is in any package  then  GoTo|| Setup|| Translation Workbench || Override.

 

Note :

  1.  Package must support the language in which you want to translate.
  2.  Once you create managed package in your organisation, you cannot disable the translation setting.   

View translation

To see translation GoTo|| MySetting ||Personal || Language & Time Zone. 

Supported Language

# Salesforce offers full support for the following languages.

  • Chinese (Simplified):zh_CN
  • Chinese (Traditional):zh_TW
  • Danish: da<
  • Dutch: nl_NL
  • English: en_US
  • Finnish: fi
  • French: fr
  • German: de
  • Italian: it
  • Japanese: ja
  • Korean: ko
  • Norwegian: no
  • Portuguese (Brazil): pt_BR
  • Russian: ru
  • Spanish: es
  • Spanish (Mexico): es_MX
  • Swedish: sv
  • Thai: th

#End-user languages include:

  • Arabic: ar
  • Bulgarian: bg
  • Croatian: hr
  • Czech: cs
  • English (UK): en_GB
  • Greek: el
  • Hebrew: iw
  • Hungarian: hu
  • Indonesian: in
  • Polish: pl
  • Portuguese (Portugal): pt_PT
  • Romanian: ro
  • Slovak: sk
  • Slovenian: sl
  • Turkish: tr
  • Ukrainian: uk
  • Vietnamese: vi

Note: To know more about supported language go through Salesforce Documentation.

Output

 

Support

That’s all for Translation Workbench In Salesforce, still if you have any further query feel free to add a ticket, we will be happy to help you https://webkul.uvdesk.com/en/customer/create-ticket/.

Execute a dynamically created query in APEX

$
0
0

Any Salesforce developer must be familiar with SOQL queries. SOQL as we all know is the Salesforce’s version of SQL. It’s full form translates to Salesforce Object Query Language. We have an idea about directly using query in APEX by writing the query in between ‘[‘ and ‘]’. However there is a limitation to the method i.e. queries created are a lot restricted and only available method to use variables is using them in where clause. We cannot use columns as variables, neither the conditions to be set or anything else. For this purpose we require a query which we can be generated as a string and then use it. This is what I am going to demonstrate to you how to execute a dynamic query in APEX.

Sample code (APEX)

public class dynamicqblog {
    list<sobject> records;
    public string sobj { get; set;}
    public string cols;
    public string condition;

    public dynamicqblog(){
        string query = '';
        sobj = 'account';
        system.debug(query);
    }

    public list<selectoption> getSobjlist(){
        list<selectoption> opt = new list<selectoption>();
        opt.add(new selectoption('account','Account'));
        opt.add(new selectoption('contact','Contact'));
        return opt;
    }

    public void dummy(){

    }

    public list<sobject> getRecords(){
        cols = 'id, name';
        condition = 'fax = null';
        string query = 'select '+cols+' from '+sobj+' where '+condition;
        records = Database.query(query);
        return records;
    }
}

In this class we have done everything like any normal APEX class, only difference is the getRecords() function which has Database.query() function. This function executes a string query, at the cost of total number of rows we can fetch in one execution of the class. The limit is 10,000 as compared to the 50,000 limit of the normal static query.

Sample code (Visualforce)

<apex:page controller="dynamicqblog">
<apex:form>
<apex:selectList value="{!sobj}" size = "1">
<apex:selectOptions value="{!Sobjlist}"/>
</apex:selectList>
<apex:commandButton action="{!dummy}" value="showlist"/>
<apex:dataTable value="{!Records}" var="rec">
<apex:column value="{!rec.id}"/>
</apex:dataTable>
</apex:form>
</apex:page>

In this example as you can see that we have not used the column name, however we have fetched it. That is because, for sObject the column name and value are created as a map at runtime, and hence we have to create a wrapper class to use that data. Rest everything is same.

Output


Support

That’s all about Executing Dynamic Queries, for any further queries feel free to add a ticket at:

https://webkul.uvdesk.com/en/customer/create-ticket/

Or let us know your views on how to make this code better, in comments section below.

Custom Labels In Salesforce

$
0
0

In this blog we are going to learn about custom labels in salesforce. If you want to translate the language of visualforce page then you must be knowing about custom labels and its implementation in salesforce.

Prerequisites

Before proceed you must enable the translation workbench and add the supported  language. To enable the translation workbench go through  Translation Workbench In Salesforce.

Custom Labels

–> Custom labels are simple text values  which is used by user to translate in any salesforce supported language.

–> It present the information in user native language.

–> It can be used in salesforce visualforce page by three ways.

  1. In Visualforce Page
  2. In Apex Class
  3.  In JavaScript

Example:

Let’s see an example to use it.

Step 1: First create custom labels for the content. Goto||Setup||Create||Custom Labels.

Step 2: Create visualforce page and apex class to show the label as shown in below code.

# Visualforce Page Code

<apex:page language="de" controller="exampleCustomLabel">
    <!--
	/**
    * Webkul Software.
    *
    * @category  Webkul
    * @author    Webkul
    * @copyright Copyright (c) 2010-2016 Webkul Software Private Limited (https://webkul.com)
    * @license   https://store.webkul.com/license.html
    */
	-->

    <!-- If your org has a name space $Label.namespace.labelName -->

    <apex:form>
        <p >
            Render By Visualforce Page :  {!$Label.German}
        </p>
        <p >
            Render By Apex Class :  {!cstmLabel}
        </p>
    </apex:form>
</apex:page>

# Apex Class :

public class exampleCustomLabel {
    /**
    * Webkul Software.
    *
    * @category  Webkul
    * @author    Webkul
    * @copyright Copyright (c) 2010-2016 Webkul Software Private Limited (https://webkul.com)
    * @license   https://store.webkul.com/license.html
    */

    public String cstmLabel {get; set;}
    public exampleCustomLabel () {
        // If you have namespace use System.Label.your_namespace.label_name
        // Here German is custom label name
        cstmLabel = System.Label.German;
    }
}

Output

 

 

Support

That’s all for Custom Labels In Salesforce, still if you have any further query feel free to add a ticket, we will be happy to help you https://webkul.uvdesk.com/en/customer/create-ticket/.

Install Opencart 3.x.x.x Using CLI

$
0
0

This article demonstrate how to install Opencart via CLI (Command Line Interface). CLI SAPI(Server Application programming Interface) uses to develop shell application. Where the user commands to the program in the form of lines of texts and Shell or Command Language Interpreter handles the interface.

1. Download the latest Opencart 3.x.x.x from this https://www.opencart.com/index.php?route=cms/download/download&download_id=56.

2. Then extract the zip and upload the files and folders which are in upload folder, to your root directory.

3. open your system terminal and go to your Opencart root directory in which you have uploaded the Opencart files.

To run a php file you needs to check whether CLI is installed in your server. For this you have to check by run php -v command on the terminal.

In the above screen shot you can see the PHP 7.0.22-0ubuntu0.16.04.1 (cli) means cli is installed on your server.

Now you just have to run the cli_install.php file by passing some arguments in the terminal. Here is the arguments

just run this above command with proper arguments then Opencart will be installed on your server.

Joomla Virtuemart Marketplace integration for Community Builder

$
0
0

Joomla Virtuemart Marketplace integration for Community Builder:

Joomla Virtuemart Marketplace integration for Community Builder is an another addon in Virtuemart Marketplace extensions category, with the help of this plugin, the seller registration become just one click process. This plugin provides a feature “Manage Connections” with the help of which you can connect with other users on the Marketplace.This plugin would work only if you have installed “Community Builder, Webkul’s Joomla Virtuemart Multi Vendor Marketplace_5.x.

FEATURES-

  • Become seller instantly, after installation of this pluign with our Virtuemart Multi-vendor Marketplace to become a seller is very easy prcess.
  • User can add seller’s product(s) to Favorite.
  • User can follow sellers of Marketplace.
  • This plugin easily configurable.
  • Uer can see seller’s Social profile links.

FLOW OF INSTALLATION AND CONFIGURATION

Step1.
First of all install the Community Builder(version_2.1x) on your Virtuemart Multi-vendor Marketplace store.

Install_Community_Builder

Step2.
Then, browse upload and install the zip file that you have purchased from Webkul store.Please follow the steps as mentioned in the below images.

Install_new_plugin
Browse_upload&Install

Step3.
Now, click on Plugin Management to make “Marketplace” published.

Click on plugin management

Publish_Marketplace

Step4.
Click on “Tab Managemnet” now, to configure “Display and Position”.

Click on_Tab Management
configure_Display_position

FRONT-END VIEW

Step5.
Now, in this step users have to register themself in “Community”.

Sign up
Please Note: After successful registration user can become a seller just click on the “Become Seller” button.
become_seller

Step6.
In this step users can see all the users those are online.

online users

Step7.
Here you can see that each user can send send request to another user(s) also can remove conncetions form his list.

Manage Connections

Step8.
An user can see seller’s social profile links, can add seller’s product(s) in the favourite list.

seller's_social prfile jpg

WEBKUL SUPPORT

That’s all for the Joomla Virtuemart Marketplace integration for Community Builder still, have any issue feel free to add a ticket and let us know your views to make the Plugin better http://webkul.uvdesk.com
Viewing all 5557 articles
Browse latest View live


Latest Images