Sending emails with attachments in Ubercart

Ubercart has its own CA (Conditional Actions) module which purpose is to execute some actions when certain events happen — you can find CA configuration screen on admin/store/ca/overview. The most typical CA use case is sending emails to customers when order is placed. But, I couldn’t find any answers on how files can be attached to these emails. Sending attachment can be an essential feature of your Ubercart store - potentially, you can send your software product attached to email to customer when order was approved, or you can send .pdf with invoice for printing, and lots of other use cases. Here is the related thread on with no answers:… Read more »

Manage your Drupal website faster: best modules available

Working in vanilla Drupal 6.x admin interface can be a real pain for average content manager, and sometimes even for developer. Things are much better in Drupal 7, but 6.x branch is still very strong in terms of popularity. In this post I’ve reviewed modules for 6.x branch, which make life of Drupal admin and moderator much easier. Pixeljets use most of these modules on every website we’re creating. Read more »

Adding "Price" field to Ubercart cart page

On the /cart page of Ubercart store, you can usually see such fields:

That’s total price per row, and amount of products per row.

For a customer project, I wanted to add single item price to this page, to make it look like this:

Read more »

Disabling module updates

Okay, every honest Drupal developer knows, that hacking core is a bad thing. Hacking contributed module is not the best thing in the world, too — for obvious reasons: modules get updates , and updating module is very easy, unless you’ve applied some hacks to it.

But, sometimes, we need to apply some changes to some contrib module. If it is a big customer site, we can’t just say “Hey guys, your team can update this module and this module using drush, but don’t touch this module, please!”. That’s just ugly, that someone needs to remember such stuff — and I bet that in 2 weeks they forget and download new version of module from And all our work is lost.

So, the solution here is to disable specific module updates automation.  Read more »

Recent comments

"I agree most of your points. Did you look at Riot.js? "
by kiichi2 weeks 4 days ago
"Would not like to say much, just that Vue is better choice if you wanna reinvent the wheels. "
by Artzyme.com2 weeks 4 days ago
"Interesting post! I needed to make the same decision between Vue, Angular and react. Angular is just too much overhead, and Vue looked lightweight and promising. However, React still won me over for...
by K2 weeks 5 days ago
"Oh, GOOD POINT! I also rebult my project with vue2 and yii2 these days. But I got an issue that, I didn't know how to use the csrf method of yii2. Because I threat the front end project as a static...
by Sid3 weeks 22 hours ago
"Why is Chinese language part of the cons? Are you a racist? If not, then that should not be an issue. (I'm not Chinese) "
by Sallar3 weeks 1 day ago
Drupal association member