
I present my project - a free script online store OpenStore based on Drupal and module Ubercart
Project siteDownloadBugtrackerWe all know and love Drupal, but, nevertheless, a few words about it:
Drupal is a CMS with a big focus on a full-fledged CMF (Content Framework System), an open and free code, a powerful API, a modular structure, unsurpassed security and, most importantly, a large community of professionals that has been created over 10 years of continuous development of this system.
Drupal is included in the "holy trinity" of systems for building and managing websites: WordPress (blogs), Joomla (portals), Drupal (whatever).
Currently, there is a solution that allows you to create a rather functional online store based on Drupal - the
Ubercart module. Official statistics show more than 32,000 installations (namely installations, downloads 10 times more), which is evidence of the popularity of this module.
Everything would be fine if it were not for one BUT:
You will not receive a ready-made online store immediately after installing the Ubercart module.A beginner who is not familiar with programming, CSS, HTML, and, moreover, does not speak English, Drupal in general, and Ubercart in particular, may seem to be an extremely complex and confusing system. Also requires the installation of numerous additional modules, some of which do not directly relate to the online store.
')
All this raises numerous questions, leads to a loss of time and, as a result, to a general disappointment. In the assembly of OpenStore, I tried to accommodate all these bottlenecks and now, I dare say, it looks like a full-fledged and complete online store.
The build consists of more than 130 modules, the heart of the Drupal 6.x system and Ubercart 2.x.
There are also two other key modules on which the assembly is based:
- OpenStore installation profile (profiles / openstore)
- General module (sites / all / modules / general)
The installation profile, in addition to the initial installation of the system, also deals with the installation of other necessary modules, as well as performs the general configuration of the online store by direct entries in the database or updating existing values.
Examples of settings to be performed: creating base roles (groups), assigning access rights to them, creating user profiles for store personnel, creating dictionaries for categories, creating and setting up “queues” for pages, exporting customized output styles of goods (pages and blocks), downloading files transfers from the project server (openstore.org.ua) with their subsequent import into the database, the inclusion and distribution of blocks across regions of pages, as well as many other settings.
The General module is a collection of various functions that mainly relate to the theme of output of various elements of a store. This module also defines and overrides numerous variables that can be used in page templates to display various elements.
For example, display the button "Add to cart"
<?php print $show_button; ?>
Thus, we can easily manipulate the display of various elements on the product page, in the form of adding / editing pages, in the user profile.
In assembly 2 themes:
- Frontend is a basic theme that is shown to customers.
- Administrator is a great admin theme.
Now about the main features of the assembly «OpenStore». I’ll just say that, since the Ubercart module is based on
the Drupal API , it automatically takes advantage of all the features that the Drupal core provides. In addition, Ubercart itself has a fairly powerful
API . You can easily extend the functionality of your store using the API of both Drupal and Ubercart
Basket
There are many options for the basket, for example: the date the content is stored for authorized and anonymous users, the redirect, the number of added goods, etc.
- Trash in the form of a simple folding block
- Trash in the form of a fully customizable block with different fields
- Basket links. Ability to generate links with predefined actions. Links can be placed on other sites.
Rules of action
A separate module allows you to set rules by which various actions will be performed. It uses the simplest logic "AND", "OR", etc ...
- Calculate the cost of delivery depending on the amount of the order
- Calculation of mark-up (including negative, for a discount), depending on the amount of the order
- Sending notifications (and SMS) at least somewhere on the basis of certain actions
- Many other actions and conditions.
Users, user interaction
Drupal was originally created to build communities and sites with elements of a social network, so it has a flexible system of access rights and user administration and provides ample opportunities for interacting with users in the style of Web 2.0
- Registration and authorization of users through Vkontakte, Twitter, Facebook, OpenId
- Product Reviews
- A system for sending reminding letters, for example, with an unfinished order.
- Product Ratings
- Bargaining form (“I have seen this product cheaper”)
- Form "Question by product"
- Social Bookmarks
- Wish list (wish list)
- User points system with user friendly API. Points can be used as discounts.
- The system subscription / unsubscribe from the store
- Polls
- Automatic cross-posting on Twitter, LJ, Facebook (for example, store hot offers)
- Various RSS feeds: general feed, new arrivals, reviews for a specific product, and so on.
Payment Methods
- Webmoney
- Paypal
- Liqpay
- Interkassa
- Onpay
- Bank receipt. Receipt templates for Ukraine and Russia
- Moneybooker
- 2checkout
- Authorize.net
- CyberSource
- Google Checkout
- Z-payment
- Western Union
Delivery Methods
- Any number of delivery types that you define.
- Fixed shipping rates
- Rates for delivery by size and weight of goods
Catalog
- Sort products by price and name, descending or ascending
- The choice of the type of presentation of goods by the user: list or grid
- Full control over the displayed directory elements: the size of the preview, tags, title and so on.
- Images for catalog categories
- Filter goods by price, manufacturer, name
- Ajax - search for products with auto substitution
- Price generation in .xls and .doc format with total settings for everything.
Images
- Actions on images: scaling, cropping (crop), resizing, rotation, reflection, switching “landscape-portrait” and vice versa, watermark, overlaying on another image, rounding corners, brightness, contrast
- 2 “magnifying glass” styles for viewing a large original product image
- 2 pop-up style for viewing product images - FancyBox and SlimBox
Product Characteristics
- 3 types of default price: cost of goods, recommended price, sales price
- Unlimited number of product images
- vendor code
- Attributes
- Stock availability by attributes
- Properties of goods (related downloads, roles, etc.)
- Under the order / in stock
- Item as a file. Selling files
- Any product fields (file, text, number, etc.). You can add as many fields as you like.
Preset blocks
- You can add any of your block manually or by module.
- Shop News
- Recommended products
- Last orders
- Latest arrivals
- Top rated products
- Most popular products (by views)
- The biggest discounts
- Hot deals
- Carousel with accented products (on Jquery)
- "With this product also bought"
- Subscribe / unsubscribe
- Poll
- Similar products
- Discounts for products with the same category
- Contextual seo text
- Context articles
- Download price
- Store contacts
SEO
There are many ready-made modules on the site drupal.org, which allow you to improve the position in the issuance for your site. They can be installed additionally.
- CNC (Human-understandable URL) with total settings for converting punctuation, transliteration, templates for generating categories and pages.
- Keyword and meta-tags for each category or any favorite page.
- Generation of keywords and descriptions automatically by templates
- Taxonomy. A through system of categorization of site pages.
- Tag clouds
- XML sitemap
Administration
- Easy change in the appearance and location of elements of the form of adding goods
- Automatic Item Generation Mode
- Mass work with the pages of the site: change, delete, change categories and so on.
- Queues of goods. Easy addition / deletion via quick links to jQuery and drag & drop interface
- Best Ckeditor Visual Editor
- Full-featured file browser with directories and operations access profiles
- Nice admin with the main information panel on the blocks
- Advanced Dropdown Panel
- Sales reports with links to individual reports
- Revenue Reports
- Bulk update price and availability
Discounts
- Discount points
- Cumulative discounts
- Discounts on user roles (groups)
- Coupons
- Sets of goods
Embedded Developer Tools
- View site under any user
- The mode of development of topics. Visual viewing of arrays of forms, variable templates, etc. ... Similar to Firebug, only for PHP and the system API
- Built-in Krumo (convenient alternative to print_r)
- Generation of any number of users, pages, pictures, orders to simulate the content of the site
- Statistics on the quality, quantity and duration of queries to the database
- Memory Usage Statistics
System statistics
- System event log in which all events in the system are recorded (including php errors) Messages are divided by severity level
- Top Users
- Top viewed pages
- Top keywords that came to the site
- Online Users
- Statistics on published / unpublished pages, system log messages, message importance, user roles, website activity, Google Analytics statistics in the form of custom diagrams (5 types!)
- Google Analytics integration module, including conversion tracking
Data backup
- Scheduled database backup with copy saving to local directory
- Scheduled database backup with sending a copy by e-mail
- Scheduled Database Backup with FTP Upload
- Manual reservation
- Restore from backup
- Many different settings, for example, the number of simultaneously saved copies, the frequency of backups (up to 1 second), include / exclude tables
Partner Network
- Multidomain You can install several stores with different designs and on different domains, but it will all be managed from one place.
- Affiliate Multilevel Program
Performance
- Compression on css union
- Compress and merge java script
- Gzip pages on the fly
- 2 cache modes
Full control over the output
- Full control over what, where and in what form to display. You can define your blocks and even whole pages.
- Output styles: grid, unformatted list, normal list, list with numbers, list of annotations, list of whole pages, RSS feed, Jquery carousel in more than 20 scrolling styles.
Some notes
- In the first version of the script there is no multicurrency. It will be in the second branch, which will be based on the latest 7th version of Drupal.
- Multilingualism is possible, but the mechanism for its implementation in Drupal still imposes certain restrictions and leads to the complication of support for such multilingual sites.
I invite you to
download and try the assembly.
Please post your suggestions, wishes, errors found in the project
bugtracker — it will be more convenient for me to track them there.
Thanks for attention.