This is a patch to add classes to the 'Create Content' node add list.

This would allow the adding of icons to the node add list which would increase usability of that form.

This is a two line addition to the theme_node_add_list function.

Comments

acouch’s picture

Component: node system » theme system
acouch’s picture

Status: Active » Needs review

Setting this to 'needs review'.

jody lynn’s picture

Component: theme system » node system
Status: Needs review » Needs work

Using the 'access_arguments' seems a little odd, although I can see you are limited in what the menu system gives you. I think it will be better to use the 'href' and pull the node/add/ off the front of it.

Also change node-add-list to node-type-list for consistency.

acouch’s picture

Status: Needs work » Needs review
StatusFileSize
new907 bytes

Thanks for the feedback. I implemented your suggestions. The patch is resubmitted.

jody lynn’s picture

Status: Needs review » Needs work

$class = str_replace("node/add/","",($item['href']));
should be
$class = str_replace('node/add/', '', $item['href']);
(spacing after commas, removal of extraneous parentheses, use of simpler single quotes)
<dt class="node-type-list-'. $class . '"> needs a space before the . (this spacing standard was changed for D7)

acouch’s picture

Status: Needs work » Needs review
StatusFileSize
new908 bytes

Thanks for the feedback. I implemented your suggestions. The patch is resubmitted.

jody lynn’s picture

Status: Needs review » Reviewed & tested by the community

Looks good to me. Adding in the classes themers need is a good thing.

jpoesen’s picture

Works as advertised, but I wonder why we don't use theme_item() and them_item_list() for a more consistent display of lists of items throughout the admin interface.

acouch’s picture

hey jpoesen,

good point. i looked into it and theme_item_list() is currently broken but being updated: http://drupal.org/node/256827 . i think it would be good to try and make sure that classes more than just 'first' and 'last' are able to be added and are added for default elements.

i'm also looking at some other theme functions like theme_admin_block_content which themes the admin page but doesn't give classes so elements can have icons added.

webchick’s picture

Status: Reviewed & tested by the community » Needs work

A couple things with this line:

+      $class = str_replace('node/add/','',($item['href']));

1. There should be spaces after those commas.
2. I don't understand why $item['href'] is in parentheses. Looks like they can be removed.
3. It might be nice to have a comment here so themers understand what those classes are intended for? This might also be unnecessary. I am not a themer, so I defer to experts. :)

Also, should we leave the old "node-type-list" in addition to also adding this new class? It seems like you wouldn't be able to apply a style to all of the titles without duplicating an awful lot of rules?

jody lynn’s picture

Title: add class to node add list » Add classes to links on /node/add
Version: 7.x-dev » 8.x-dev
Status: Needs work » Needs review
StatusFileSize
new1.54 KB

New patch for D8.

I don't think code comments in here will help themers, as they will see the classes in the resulting markup.

sun’s picture

Issue tags: +Front end
StatusFileSize
new3.07 KB

I don't see why the class should be on the link only. It should be on the outer container.

Even more importantly, what is all that raw PHP in that theme function?

Attaching a prototype.

Status: Needs review » Needs work

The last submitted patch, 12: drupal8.node-theme-add-list.12.patch, failed testing.

yesct’s picture

Issue summary: View changes
Issue tags: -Front end +frontend

correcting the tag to the more common one.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

acbramley’s picture

Status: Needs work » Closed (outdated)

No activity in >10 years, closing as outdated. Feel free to reopen if there's still something to fix.

This is also possible via a preprocess hook since node_add_list is a proper theme function now.