Description of skill set "PHP coding for theming"

You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

This page relates to the Skill sets described in the open curriculum project, and tries to describe one of the skill sets. See this page as a collaborative notebook, and feel free to edit and improve it.

Typical new themers may come from both a programming background or a design background. Someone with previous PHP skills can hop right in, but someone who is new to PHP might stumble and get lost a bit. This skill set outlines the essential PHP a themer would need to know.

If you're curious about other pre-requisites for a front end developer/themer, please see "Skills of a successful front-end web developer" http://drupal.org/node/1245650

PHP coding for theming

Drupal-specific

Basics

  • What is PHP?
  • Using variables
  • The the features, control structures and syntax of PHP
  • Opening and closing PHP, when to and when not to.
  • Adding comments, single and multiline

Using PHP

  • Escaping HTML in print statements.
  • String operators, concatenation.
  • Use of operators: assignment, comparison, logical, mathematical.
  • Syntax of functions, passing parameters.

Control structures

  • For and while loops
  • Conditional statements
  • Alternative syntax of conditional statements and when to use them.
  • Syntax of a structured array
  • Insert into and get data from an array

Comments

Basic Drupal coding not required?

Itangalo's picture

This sounds very much like "basic Drupal coding skills" to me (or even prerequisites for that skill set). Or skills you need in "basic theming skills" when creating/modifying template files.
If this should be the content of "PHP coding for theming purposes", I don't think that it should come after the basic Drupal coding skills. I also think it would make sense to break up what is now "front end development", into a more basic one and a more advanced one – I think a skill set spanning from "writing form_alter functions" to "developing for Skinr" is too wide.

Thoughts?

Basic Drupal coding skills

Itangalo's picture

I wrote down some of the things I think should go in to "Basic Drupal coding skills", to make it easier to compare and discuss: http://groups.drupal.org/node/189114

I didn't understand the title

heather's picture

I didn't understand the title of the skill set then! I saw "PHP coding for theming purposes" and stripped it down to just the PHP they would need for theming purposes.

What do you expect this to be? Perhaps we should change the skill set title.

Basic theming coding?

Itangalo's picture

The new suggested title (see comment subject) isn't very good, but I'm sure a native English speaker can make it better. :-)

As I've interpreted this skill set so far, it has been about theme coding, but not very advanced such: "Writing theme functions, preprocess functions, form_alters, adding/changing theme settings and using the show/hide functions."

I can't remember how much/little this has been discussed, though, so maybe we should raise the question again...

For what it's worth...

DSquaredB's picture

As a beginner/intermediate-level themer, I think of the basic theming skills as very basic. I have been able to do some simple Drupal themes without having a background in coding by just learning some very basic php/CSS/etc. I would agree that front-end development should be divided to reflect that only minimal coding knowledge is necessary for basic theming, while more advanced skills are definitely needed for more advanced theming.

DSquaredB
Danita Bowman

I realize this is an old

greta_drupal's picture

I realize this is an old post, but I would point out that a beautiful subtheme can be created legitimately, from a proper base theme, without even looking at a lick of PHP -- skinning with CSS alone. Afterall, that is (or should be) the point of well constructed base themes and modules -- that the structural markup is well constructed and adequately classed.

[IMO, every module developer should partner with a designer/UI-UX person in development to achieve this goal. I see that person's role as equally important. I don't see that this valued in Drupal, but it should be.]

There are many, many talented web designers who are experts in HTML and CSS. That traditional Web Designer role does not translate to Drupal. Drupal is alienating them by requiring PHP coding skills, at all.

I think that the Web Designer role deserves inclusion in the workflow.

Curriculum and Training

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week