In this chapter we will learn how to work with product pricing rules to apply a discount for our store. In this example we will be applying a 25% discount to our customer who we have identified with a wholesaler role, using the Rules module.
If you need a refresher on using Rules module, you can watch the Learning the Rules framework series.
Now that we have a number of orders on our site we review the various ways to review the orders. We start by looking at it from the customer perspective, where they can view their own orders, and then we move into the administrative view to see where we can review the orders, as well as how to edit and effect the order status.
Now that we've reviewed how taxes work with the US-style sales tax, we'll continue on by seeing how to set our store up with a European-style VAT (Value-Added Tax). VAT is added to the unit price of a product, instead of on the line item on the order form. We'll dive into our Tax Type to explain the differences and then add VAT to our store, and also see how to have the site calculate the correct product price for a given VAT to give us a nice, even unit price for our products.
In this chapter we will look at how to add sales tax to our products. This chapter will cover US-style taxes, where the tax is listed separately and rounded up for each line item. The next chapter will cover European-style VAT taxes. We'll also look at how to make the application of taxes conditional with Rules, since you don't always want the same tax rate applied to all items.
If you need a refresher on using the Rules module, check out the Learning the Rules framework series.
In this chapter we look at how to modify the customer information that we collect during checkout. We'll add a phone number field to our customer's billing information profile as we explore the idea of the Profile entity and how that is linked to users. Additionally we look at how the billing information is linked to the orders we create, and how to properly update them.
In this chapter we will walk through the store checkout process, both as a logged-in customer and an anonymous customer. We will look at how we can customize the checkout pages and workflow, and as an example we will edit the defaults to provide us with a single-page checkout screen. We also review the customer's orders tab and talk about the Rules we can use throughout the checkout process. Lastly, we look into the order status as we proceed through an order.
In this chapter you will learn how to customize your shopping cart display, as well as the message that appears after a customer has added an item to the cart. The shopping cart is created using Views, and the message that appears is controlled with Rules. If you need a refresher on these two modules, you can watch these other Drupalize.Me series:
Now that we have some products in our store, we'll look at how we can use Drupal core's Taxonomy system to help us create a catalog based on the type of products we have, and we'll add some menu items to our main navigation.
Now that we have our base site installed and ready, we'll begin setting up our store by removing the example products that Commerce Kickstart created for us, and adding our own products to the store. We also discuss the difference between Products and Product displays.
To get started with our new Drupal Commerce store, we are installing Drupal using the Commerce Kickstart installation profile. Commerce Kickstart provides you with Drupal core, along with a number of modules that all Commerce sites will need to get up and running. Using the installation profile makes your life a lot easier since you have everything you need in one package and the Drupal installer will make sure that you don't hit annoying PHP timeouts when trying to enable all those modules at the same time. It also installs a few sample products and handles some basic configuration.
Now that we have created our products we'll dive into the Product display content type so that we can display our products to our users. In this instance we'll start out be re-using the nodes created by Commerce Kickstart, then we create two new displays for our remaining items. We finish up by rearranging the fields on the content type using Drupal 7's manage display configuration.
Learning Page Manager
CourseThis screencast covers the following topics:
- Manual import/export of Page manager settings.
- Import/export using Features.
- Some words about the custom rulesets module.
- Some words about the custom content panes module.
- Some words about the stylizer module.
- Some words (but not enough!) about mini panels.
- Some words about Panels everywhere.
- Some words and a quick demonstration of Panels in-place editor.
The Views Context
FreeThis screencast covers the following topics:
- Creating a Context display type in Views.
- Placing individual View rows in your custom page.
- Displaying other View render elements in your custom page (such as the pager or header).
- Using the View context to load further contextual object.
This screencast covers the following topics:
- Adding new contextual objects with manual selection.
- Adding new contextual objects with relationships.
- Chaining contextual objects, with the example of loading a node term, and then loading the term top level parent (or not).
This tutorial covers the following topics:
- The Contextual Administration module and variant type.
- Auto-populating node reference fields for new nodes.
- A quick glance at other functionality in Contextual Administration: vocabulary administration pages, user administration pages, quick content handling pages, and more.
- Using the local actions menu type.
This screencast covers the following topics:
- Rearranging the node edit form with Panels.
- Some words about how the render arrays in Drupal 7 makes this possible.
This screencast covers the following topics:
- Creating custom paths with Page manager
- Defining required and optional wildcards in a path
- Loading contextual objects from path arguments
- Creating access rules for custom pages
- Creating menu tabs, local actions and other visible menu items
- Making menu items only show in certain circumstances, such as only on selected node types
Panel Pane Settings
FreeThis screencast covers the following topics:
- Using visibility rules to determine when panes should show
- Using per-pane or per-page caching
- Setting caching granularity to per context or per argument
- Editing basic pane settings
- Moving panes between different panel regions
- Some layout settings for panes
More View Panes
FreeThis screencast covers the following topics:
- Setting name, description and category for view panes
- Overriding the title of the view
- Overriding the number of items to display
- Some other override options
- The "context is optional" setting for argument input/contextual filter value input