Address Field Nigeria

This module is a plugin for the Addressfield module. It provides a user friendly Nigerian address form.

To use download and install, then use your addressfield fields as usual.

Currently only locality options for the Lagos, FCT and Rivers Administrative area is provided. Other states coming soon.

Project page:

git clone address_field_nigeria


PA robot’s picture

Status: Needs review » Needs work

There are some errors reported by automated review tools, did you already check them? See

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

togbonna’s picture

Status: Needs work » Needs review

Issues from the automated review corrected and updated. Automated review passed.

Getting set to join the review army.

t14’s picture

Had a look at your code and also gave the module a test drive. See my comments below.

Line 8: I would place this array inside a fucction and have it return this variable. Somthing like below

function name_of_module_function_name() {
return $plugin = array(
  'title' => t('Address form (specific for Nigeria)'),
  'format callback' => 'addressfield_ng_format_address_generate',
  'type' => 'address',
  'weight' => -100,


Line 22: remove commented out code.

Installed and tried this module. I clicked the “Address form (specific for Nigeria)” and in the node creation page I did not get any options for this field.

Sorry if I missed any steps, hope I was helpful

t14’s picture

Status: Needs review » Needs work

Based on my comments abvove

togbonna’s picture

Status: Needs work » Needs review

Three issues were raised by the last review. Here are the current status:


Line 8: I would place this array inside a fucction and have it return this variable.

I am leaving the array as it is because it conforms to the example given by the developer of the module, Addressfield which this module extends. I believe the author knows better.


Line 22: remove commented out code.



Installed and tried this module. I clicked the “Address form (specific for Nigeria)” and in the node creation page I did not get any options for this field.

This has been fixed and tested. I believe the module is now ready.


valic’s picture


I have installed & enabled module on clean D7 site.
After i added field, select : Address form (specific for Nigeria), and field show up with option to select state (after selecting Nigeria from country menu)

  • state menu works
  • area menu also works (if state have area, e.g Lagos)
klausi’s picture

Status: Needs review » Postponed (maintainer needs more info)

This sounds like a feature that should live in the existing addressfield project. Module duplication and fragmentation is a huge problem on and we prefer collaboration over competition. Please open an issue in the addressfield issue queue to discuss what you need. You should also get in contact with the maintainer(s) to offer your help to move the project forward. If you cannot reach the maintainer(s) please follow the abandoned project process.

If that fails for whatever reason please get back to us and set this back to "needs review".

togbonna’s picture

Status: Postponed (maintainer needs more info) » Needs review

I beg to differ here on the last review. I am of the opinion that this module is not a duplication or a fragmentation of the addressfield project in any way for the following reasons:

I studied the addressfield project extensively before embarking on this project and from my assessment the addressfield project was intended to be extended exactly the way this module does. The addressfield project was created with a plugin architecture that other modules should implement just like this module does.

The reasoning behind this is understandable: There are over 250 countries in the world and each of them has a unique addressing scheme. While the addressfield module only handles the top-level country field in a user-friendly way (drop-down select) deeper-level address components are only handled as textfields that require manual inputs from user (not user-friendly). It would be impractical for the module to handles these deeper fields for all countries with all their peculiar addressing styles.

To address this the addressfield project was made to be extended, like my module does, so different modules can create user-friendly address form particular to a region or country. To this end the addressfield module developer included an example module on how to do exactly this, which I mirrored closely in my own project. So my module is just following the intentions of the addressfield project maintainer. For this reason I don't think that this module is a duplication or fragmentation of that module and therefore deserves its own space.

Besides a lot of other modules exist that does exactly this: addressfield_peru, Address Field NL Postcode, Addressfield - Hungarian address database, Address Field Vietnam, etc. Studying the varieties of addressing schema that these handful of modules handle will easily convince anyone of the impracticality of the addressfield project handling all possible schemes the world over on its own.

This is why the addressfield project was created the way it is, I think, and that is exactly what this module and the others mentioned above does.

So I think this project deserves its own space just like these others mentioned above.

Thanks for taking the time to read through my lengthy reasoning.

kscheirer’s picture

Title: D7 Address Field Nigeria » [D7] Address Field Nigeria

Cleaning up project application titles.

Mac_Weber’s picture

Status: Needs review » Postponed (maintainer needs more info)

Hello togbonna, I've also contributed to Address Field, and I've done it by posting patches directly to the main project. When @klausi said project fragmentation and competition is a problem it is because most users of Address Field will not look for a plugin to improve the user experience.

The country is already in the country list, then a regular user would not think that he/she should search for another sub-module for improving its usability.

Have you contacted the maintainers of Address Field? They are very open to answer support questions. Maybe you should try first making your code an improvement to the main module.

togbonna’s picture

Status: Postponed (maintainer needs more info) » Needs review

I wanted to contact the maintainers of Addressfield project as suggested but I decided to explore the issue queue first and made the following discovery that I think is significant to this case:

1) There has been an ongoing discussions on this since 2010/2011.

2) Along the way a lot of patches were created by others intending to extend the AF module in the way suggested by the above two reviews and sent to the maintainers but non were actually committed. Quoting a reply to one of such requests by one of the maintainers:

The biggest roadblock has just been realizing the current method of making these additions isn't scalable. That's no excuse for not crafting a different strategy, which Damien has started developing today as part of the Commerce sprint, but we'll get the existing patches committed and make a 1.x asap.

rszrama ( Non were ever committed.

3) The current situation around the AF project is that while the current functional version is the 7.x-1.0 branch, the future focus is on an entirely rewitten version Addressfield 2.0. This new version is intended to address a whole lot other issues besides the country/region specific extensions.

4) Currently there are no code commit for the proposed AF 2.0 or even a detailed spec in the open.

5) The latest position of the maintainers on this issue is better explained by quoting the maintainers themselves:

The objective of Addressfield 1.x was to come up with a simple address solution management that covers the 80% use case. It obviously failed, so we are going to tackle the complexity in Addressfield 2.x instead of avoiding it.

-Damien Tournoud (

6) In reply to the following suggestion by someone:

If so, I think others need a solution for AddressField 1.x on D7. Actually based on the amount of tickets, and the eastern block planning a mutiny (#1792302), I'd think we'd need a simple solution for AF 1.x and D7.

( one of the maintainers replied:

1.x is feature frozen at this point. We are not going to make any drastic change to this branch.

-Damien Tournoud (

So those sums up the replies to all the questions I would have asked. So since this module targets the 1.x version that is not going to be accepting further extensions approving it is the better option I suppose.

Mac_Weber’s picture

Status: Needs review » Postponed (maintainer needs more info)

@togbonna you pointed to many issues in their queue. However, you did not say you have contacted the maintainers via the issue queue or directly.

The first issue you pointed the member was asking to be a co-maintainer. Of course, sending patches makes more sense.

Then he sent a patch. If you look at his new opened issue for this patch there are new updates from 2013 pointing that it still has problems. That's the reason for not commiting the patch.

As you can see at the same thread, they are not opposing to merge the patch. They said they want it:
@rszrama wrote:

I'm happy to commit Russian regions to the until we move to a more robust solution.

It is clear they are waiting the patch be fixed before commit it.

PA robot’s picture

Issue summary: View changes
Status: Postponed (maintainer needs more info) » Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application (see also the project application workflow).

I'm a robot and this is an automated message from Project Applications Scraper.

PA robot’s picture

Status: Closed (won't fix) » Closed (duplicate)
Multiple Applications
It appears that there have been multiple project applications opened under your username:

Project 1:

Project 2:

Project 3:

Project 4:

As successful completion of the project application process results in the applicant being granted the 'Create Full Projects' permission, there is no need to take multiple applications through the process. Once the first application has been successfully approved, then the applicant can promote other projects without review. Because of this, posting multiple applications is not necessary, and results in additional workload for reviewers ... which in turn results in longer wait times for everyone in the queue. With this in mind, your secondary applications have been marked as 'closed(duplicate)', with only one application left open (chosen at random).

If you prefer that we proceed through this review process with a different application than the one which was left open, then feel free to close the 'open' application as a duplicate, and re-open one of the project applications which had been closed.

I'm a robot and this is an automated message from Project Applications Scraper.