Drupalcamp Zaragoza 2022: the deeply missed event is back!
Empowerment comes from opportunity. Meet Cocomore's new Fair Trade talent training program
The true-life experience of a Drupal Content Editor
Drupal 9: How to successfully upgrade
How to get ready for Drupal 9
Composer in Drupal 8.8.0 - First impressions
Recap: Drupal Camp 2017 in Frankfurt
From a small start-up to the big agency - A retrospective of more than a decade of agency life
Cocomore job check: What does a Backend Developer do?
Integrate your eCommerce website with these must-have Drupal Modules
Out of all the standard types of websites out there, eCommerce sites have the most need for integration with third-party tools and applications. Most of that is driven by eCommerce websites need to entice customers enough to make a purchase on their first visit, all the while making sure to provide payment security, payment options, shipping flexibility, and a gratifying feeling at the end of the process. It’s a lot to juggle!
Having dedicated third-party systems to handle specific purposes gives the business the flexibility to accommodate new priorities and fulfill operational needs. Integrations with tools like CRMs, DAMs, and verified Payment Gateways, offer a seamless, secure, and quick shopping experience that improves customer satisfaction and retention rates.
The key to providing an enhanced customer experience is having the right CMS for your eCommerce site. Combining content and commerce is the most effective way to inspire a purchase. That’s why Drupal is a great choice of CMS for eCommerce - Drupal’s core modular architecture offers deep integrations with various third-party tools. Inherently, Drupal lets you leverage content and media to their fullest potential to help you build extraordinary customer experiences. In this article, you will learn about some must-have Drupal 9 modules required for running a successful eCommerce store.
All the modules mentioned below are Drupal 9 compatible. Still on Drupal 7? Check out this article for a handy checklist to prepare you for the Drupal 9 migration.
Talking Drupal #355 - Disability Pride Month
Today we are talking about Disability Pride Month with Donna Bungard.
6 easy to implement SEO tips for your Drupal 8/9 website
Hello everyone! In this video I provide some useful SEO tips that will help you improve your SEO rankings for your Drupal website. This video is especially beneficial if you have a Drupal website and display advertising.
I touch on the following topics:
- Drupal SEO Checklist
- Advanced CSS/JS Aggregation
- Drupal XML Sitemap
- A simple Twig Template cheat
- Lazy Loading of images
I will be providing more similar videos in the future.
Please Subscribe to the Youtube channel for future videos :)
Please feel free to leave a comment in this post or in the Youtube video for topics that you would like covered in the future.
Tags Drupal Drupal Planet Add new comment Language EnglishDrupal 9: Using The Private Temporary Store Service
The Drupal tempstore.private service is used to allow temporary user data that is available from one web request to the next. It is intended to be used for non-cache data that cannot easily be rebuild. This includes work in progress data that isn't in the position to be saved permanently.
The temporary store is a key value/store and cam therefore store anything from a single vale to a serialised object.
The tempstore.private service is really a factory (called PrivateTempStoreFactory) that will allow you to create instance of a PrivateTempStore object. It's this object that van be used to manage the data in the store. If you are familiar with the way that configuration factories work then this will seem familiar.
Using the temporary storage is quite straightforward, the service has a get() method that takes the name of the temporary store you want to use. What you call it is up to you, but it is best to namespace this so that you can easily tell where the temporary store came from. You can also add information like whatsort of temporay store you are using, but don't add any user identifyable information for the key.
Once the PrivateTempStore object has been created you can then use it to set whatever data you might want to set.
/** @var \Drupal\Core\TempStore\PrivateTempStore $store */
$store = \Drupal::service('tempstore.private')->get('mymodule');
$store->set('var_name', $data);
To get the data back again just use the get() method.
Top 20 Most Usable Content Management Systems
There are plenty of options when picking a content management system for a development project. Depending on how advanced you need the CMS to be, what language it's built in, and who is going to be using it, it can be a nightmare trying to find the "perfect" CMS for a project.
However, some CMSs have a slight edge over the rest of the competition because of the usability of the software. Some are just easier to install, use, and extend, thanks to some thoughtful planning by the lead developers.
We have a number of themes and resources to support these top content management systems. If you're looking for WordPress themes, Drupal themes, or Joomla themes, we have you covered on Envato Market.
We also support additional popular CMS systems and a variety of WordPress plugins, Drupal plugins, Joomla plugins, and more. Visit our ThemeForest or CodeCanyon marketplaces to browse through a ton of professional options.
Here are the most usable CMSs on the web, so you can choose the one that fits your needs best.
New Course: Code a Custom Drupal Module
![Final product image](https://web.archive.org./web/20220712135138im_/https://cms-assets.tutsplus.com/cdn-cgi/image/width=850/uploads/users/48/posts/29307/final_image/Drupal.png)
![Final product image](https://web.archive.org./web/20220712135138im_/https://cms-assets.tutsplus.com/cdn-cgi/image/width=630/uploads/users/48/posts/29307/final_image/Drupal.png)
![Final product image](https://web.archive.org./web/20220712135138im_/https://cms-assets.tutsplus.com/cdn-cgi/image/width=360/uploads/users/48/posts/29307/final_image/Drupal.png)
If you want an easy way to create engaging, content-driven websites for you and your customers, you should give Drupal 8 a try. And Drupal modules allow you to take things a step further and create highly customized functionality for your site.
In our new course, Code a Custom Drupal Module, Envato Tuts+ instructor Derek Jensen will get you up and running with modules in no time. You'll build a simple calculator module, and along the way you'll learn about creating routes, controllers, parameters, and more.
New Code eBooks Available for Subscribers
Do you want to learn more about asynchronous Android programming? How about the Ionic framework, or JavaScript design patterns? Our latest batch of eBooks will teach you all you need to know about these topics and more.
![New Code eBooks on Envato Tuts](https://web.archive.org./web/20220712135138im_/https://cms-assets.tutsplus.com/cdn-cgi/image/width=850/uploads/users/48/posts/28387/image/ebooks.jpg)
![New Code eBooks on Envato Tuts](https://web.archive.org./web/20220712135138im_/https://cms-assets.tutsplus.com/cdn-cgi/image/width=630/uploads/users/48/posts/28387/image/ebooks.jpg)
![New Code eBooks on Envato Tuts](https://web.archive.org./web/20220712135138im_/https://cms-assets.tutsplus.com/cdn-cgi/image/width=360/uploads/users/48/posts/28387/image/ebooks.jpg)
This month we’ve made eight new eBooks available for Envato Tuts+ subscribers to download. Here’s a summary of those books and what you can learn from them.
Drupal 8: Properly Injecting Dependencies Using DI
As I am sure you know by now, dependency injection (DI) and the Symfony service container are important new development features of Drupal 8. However, even though they are starting to be better understood in the Drupal development community, there is still some lack of clarity about how exactly to inject services into Drupal 8 classes.
Many examples talk about services, but most cover only the static way of loading them:
$service = \Drupal::service('service_name');
This is understandable as the proper injection approach is more verbose, and if you know it already, rather boilerplate. However, the static approach in real life should only be used in two cases:
- in the
.module
file (outside of a class context) - those rare occasions within a class context where the class is being loaded without service container awareness
Other than that, injecting services is the best practice as it ensures decoupled code and eases testing.
In Drupal 8 there are some specificities about dependency injection that you will not be able to understand solely from a pure Symfony approach. So in this article we are going to look at some examples of proper constructor injection in Drupal 8. To this end, but also to cover all the basics, we will look at three types of examples, in order of complexity:
- injecting services into another of your own services
- injecting services into non-service classes
- injecting services into plugin classes
Going forward, the assumption is that you know already what DI is, what purpose it serves and how the service container supports it. If not, I recommend checking out this article first.
What Is Drupal?
Drupal is a popular open-source content management system written in PHP. Having been created in the early 2000s by a Belgian student, it now powers some of the most prominent websites on the web (WhiteHouse.gov, Weather.com, etc.). It is often regarded as a competitor of CMSs such as WordPress and Joomla.
One of the most important components of the Drupal project is its community of supporters (contributors, developers, evangelists, business owners, etc.). Prominent within this community stands the Drupal Association, responsible for "fostering and supporting the Drupal software project, the community and its growth".
A giant leap from its predecessor, the 8th major release of the Drupal project has just hit the shelves. It brought about a serious modernisation of its code, practices and mentality. Many regard this shift as a real move away from the traditional notion of a CMS to more of a Content Management Framework (CMF) that provides a great platform for building complex applications.
In this article, I'm going to answer some of the more frequent questions people have about Drupal when starting up for the first time or considering doing so: