115 lines
3.9 KiB
Markdown
115 lines
3.9 KiB
Markdown
---
|
|
layout: page
|
|
title: Products and Services
|
|
products:
|
|
-
|
|
title: Drupal development subscription
|
|
description: |
|
|
In less time than it takes to post on a job board, and for a fraction of the cost, get unlimited access to a certified Drupal development expert, core contributor and multiple-time DrupalCon speaker for a fixed monthly fee. No surprises. Cancel anytime.
|
|
perMonth: true
|
|
price: 5000
|
|
isFrom: true
|
|
link:
|
|
text: Register now
|
|
url: /subscription
|
|
-
|
|
title: Drupal upgrade roadmap
|
|
description: |
|
|
Are you stuck on an already or soon-to-be unsupported version of Drupal? Get a personalised roadmap of your Drupal website, including details and actionable steps to upgrade it.
|
|
price: 5000
|
|
link:
|
|
text: Book your roadmap now
|
|
url: /drupal-upgrade
|
|
-
|
|
title: Diagnosis
|
|
description: |
|
|
An in-depth investigation into a single issue where I'll provide a report with my findings and advice on the next steps. Once you've purchased, you can book a Zoom call with me to discuss what you want me to investigate.
|
|
price: 2500
|
|
link:
|
|
text: Book now
|
|
url: https://buy.stripe.com/00gbJs84G2jg8Vy9AJ
|
|
-
|
|
title: Private talk or workshop
|
|
description: |
|
|
If you found one of my public speaking presentations or workshops useful, I'm available for private speaking engagements on a variety of topics to help your team succeed.
|
|
price: 2000
|
|
isFrom: true
|
|
link:
|
|
text: Schedule a talk
|
|
url: https://buy.stripe.com/eVa4h0bgSaPM6NqcMU
|
|
-
|
|
title: 1-on-1 consulting call
|
|
description: |
|
|
Book a 1-on-1 video call, and I can help you by answering questions about software development, architecture and automation, helping you write your first automated test, or reviewing some of your code and giving advice and suggestions.
|
|
price: 350
|
|
link:
|
|
text: Book your call now
|
|
url: /call
|
|
-
|
|
title: Pair program with me
|
|
description: |
|
|
Would you like another pair of eyes on your code, providing real-time suggestions and feedback rather than waiting for a code review? Book a 2-hour pair programming call and we can work on your code together.
|
|
price: 499
|
|
link:
|
|
text: Book your session now
|
|
url: /pair
|
|
-
|
|
title: Introduction to Automated Testing in Drupal - 10-day email course
|
|
description: |
|
|
Register for my free email course on automated testing in Drupal.
|
|
link:
|
|
text: Register now
|
|
url: /atdc
|
|
-
|
|
title: Drupal module template
|
|
description: |
|
|
If you're creating a new Drupal module, try starting with my free module template for Drupal 9 and 10.
|
|
link:
|
|
text: Download
|
|
url: https://github.com/opdavies/drupal-module-template
|
|
---
|
|
|
|
{% block content %}
|
|
|
|
{% for product in page.products %}
|
|
|
|
<article>
|
|
<h2>
|
|
{{ product.title }} -
|
|
{{ product.isFrom ? 'from' }}
|
|
{% if product.price %}
|
|
£{{ product.price|number_format() }}
|
|
{% else %}
|
|
free!
|
|
{% endif %}
|
|
{{ product.perMonth ? 'per month' }}
|
|
</h2>
|
|
|
|
<div>
|
|
<p>
|
|
{{ product.description }}
|
|
|
|
{% if product.remainingPlaces == 1 %}
|
|
<strong>1 place remaining!</strong>
|
|
{% elseif product.remainingPlaces > 1 %}
|
|
<strong>{{ product.remainingPlaces }} places remaining!</strong>
|
|
{% elseif product.isLimited %}
|
|
<strong>Limited places available!</strong>
|
|
{% endif %}
|
|
</p>
|
|
</div>
|
|
|
|
<footer>
|
|
<a href="{{ product.link.url }}">
|
|
{{ product.link.text }}
|
|
→
|
|
</a>
|
|
</footer>
|
|
</article>
|
|
{% endfor %}
|
|
{% endblock %}
|
|
|
|
{% block content_top %}
|
|
{% include 'message.html.twig' %}
|
|
{% endblock %}
|