Articles written by: Guy Schneerson
The business requirements
Drawing on the experience of maintaining the Drupal 7 stock module and working with a number of ERPs over the years we have come up with a completely new architecture for Drupal 8 commerce stock module.
The following are the 4 main challenges that I encountered with the Drupal 7 module that needed addressing:
This article will show how to set up the Brightpearl ERP on A Drupal commerce site to find out more about Brightpearl checkout my previous introduction post.
This guide uses http://simplytest.me to demonstrate the process.
This article will cover the following:
- Install instructions (consists of two parts)
- Configuration instructions
- Un-install notes.
After many custom Drupal Commerce ERP integration's we have come across Brightpearl an ERP with all the facilities a small to medium size business would need and decided to share our code with the Drupal community see the Brightpearl module page.
Also check the Brightpearl setup guide Setting up Brightpearl ERP on a Drupal Commerce site post.
We were commissioned to create a Drupal Commerce based web site for a top Moscow bakery.
The site is a custom themed multilingual site offering online ordering, delivery slot choice alongside recipes and other product information.
The Drupal Commerce framework is an ideal platform for the creation of an online shop and with a degree of customisation provides an excellent base for this multilingual online bakery.
The following gists shows a few approaches for working with Drupal commerce order totals.
All three examples retrieve the order total as two components Ex Vat and VAT:
The first example shows how to get nicely formatted amounts. This is easily done using two functions:
commerce_price_component_total() - Returns the total value and currency for the specified price component in a price array.
commerce_currency_format() - formats the amount with the correct localization and currency symbol
I didn't see this one coming but on a Multilingual Russian site we recently built, the client asked us to translate the Russian Rubble symbol "руб" to "RUB" when viewing products in English.
As there are no localized options for currency settings I had a look around the commerce code and came across commerce_currency_format() in commerce.module.
This is going to be a step by step guide for localizing & translating a Drupal 7 commerce site. there are many ways and tools Drupal and its contributed modules support and this is just one of them.
I will not go into too much explanations but will try and make sure I cover all the steps needed to translate a Drupal commerce site.
Note: commerce kickstart 2 comes with some of this but last time I checked it did not provide full localization and translations features.
Drupal 7 has great support for multilingual site and has various approaches to content translation and localization.
In this quick recipe post I will cover the setting up of a "Translator" role for the following translation approaches
- Interface translation: The translation of strings used throughout the site
- Entity translation: The translation of Nodes and other entities using entity/field translation
I will try and cover other translation & localization approaches at a later stage
Lately I find myself more and more moving from views fields to using Display suite layouts. However one bit of functionality I love about views is its text trimming and striping.
What I like to do is create a display suite code field that lets you do this using the original views function. I also try and keep my code in a unit and call it from the display suite (so its not hiding in the DB).
Most Drupal sites require more then one person to be able to edit content on the site.
While out of the box Drupal does not support a great collaborative experience, you can easily enable this functionality using a few contrib modules and configuration.
i18n / Internationalization module
We use the i18n menu module that comes with the Internationalization module.
While the module provides configuration options for language specific menu items, simply enabling the module creates a new translation text group called "Menu" that exposes all menu items to the translation interface.
You can use the translate interface to translate all the menu items except for once created by nodes for those you should translate the node and specify the translated menu title.
Basic Content authoring in Drupal
Each node in Drupal has an option to be 'Published' or 'Unpublished Published' under “Publishing Options” in the node edit screen. This enables content authors to be able to create content before publishing it on the live site. The field out of the "core" box can have the values of published and unpublished (this can be extended but that's a topic for another post).
As part of the Brighton Digital Festival and the Brighton Area Drupal weekend Blue-Bag and three other Drupal houses in New England Gouse Brighton UK will be opening their doors this coming Friday.
Below are my notes taken as I investigate techniques to achieve my Objective,
(This post is not a normalised set of instructions but the process I went through to figure out the best way to handle multiple currencies c objective)
if I get a chance ill create another post with a normalised set of instructions/explanation.
A client needed implementing a custom teaser/short description for a CCK field (not the body) in his Drupal 6 site. The requirements: if the short description/ teaser is available use it otherwise get the data from the CCK field. It is important to note that Display Suite Drupal module was not available as I think it provides a much better approach (will post about in the future).
I have used the Views Custom Field module , this adds a PHP field that allows us to add PHP code to a view.
Drupal nodes typically have an Edit and View links (rendered as tabs at the top of the node by most themes).
Ever wanted to add you own links so you can add custom functionality?
This can be used to automatically populate node data.
The below example will show you how to add a link titled “reviewed” to an article node type, this link will prompt the user for a comment and set two cck field “reviewed” and “note”.
This is not intended as a real example but as an illustration of the how the following techniques can be used as the bases for the creation of powerful work flow.
The techniques covered are
• hooking into the Drupal menu routing system
• form creation and validation
• node manipulation (node_load and node_save)
• url redirect
- Talk notes from the BAD Monday meetup
By Guy Shneerson of Blue-Bag Ltd (www.blue-bag.com) Guy [at] blue-bag.com
Notes form my presentation at the Brighton Area Drupal meetup (BAD monday) on Monday 18/04/2011 at the Skiff
Thanks to Steve for organising the evening and to all that attended