<p>a) There are a definitely a few ways to handle this, but I would recommend the following. Put your Countries and Cities in a category group, nesting cities inside countries. Your Fishing Port section should be a Structure, since the entries are not time dependent like entries in a Channel. All you would need is a single category field that relates the fishing port to a city.</p>

<p>b) This can be done with custom routes, as long as each Fishing Port entry is related to one city category.</p>

<p>As for organizing the entries in the admin, you can make use of the <a href="http://buildwithcraft.com/docs/plugins/hooks-reference#modifyEntrySortableAttributes" rel="nofollow">modify entry sortable attributes</a> and the <a href="http://buildwithcraft.com/docs/plugins/hooks-reference#modifyEntryTableAttributes" rel="nofollow">modify entry table attributes</a> hooks, which allow you to add an attribute in the sort dropdown and add different columns to the entry view. With this, you can add a City and Country column to the structure listing.</p>

CC BY-SA 3.0
2015-09-29T19:26:04.790Z
Aaron thank you - this sounds like the way forward - hooking into admin display sounds totally doable too. Phew! [Coming from another CMS for the last 5 yrs I was starting to have my doubts]
joomkit
CC BY-SA 3.0
2015-09-29T19:36:03.203Z
On the custom routing - I haven't looked into this deeply but in this scenario does it mean I'll  need regX / dynamic routes or need to specify them in routes config?
joomkit
CC BY-SA 3.0
2015-09-30T08:36:10.557Z
@joomkit setting them up with Regular Expressions in the routes.php config is better, as you can use the same "token" (named capture group) multiple times and allows to make capture groups optional. Something like this should be close to what you need: `'dir/(?P<country>[^/]+)(/(?P<city>[^/]+))?(/(?P<slug>[^/]+))?'`.
carlcs
CC BY-SA 3.0
2015-09-29T15:43:14.537Z
2015-09-29T15:43:14.537Z
Aaron Berkowitz
<p>I want to build a directory of fishing ports
It will have approx 500 entries, each geocoded for map display.
I will have 4 views;
1) Directory with map of entries
2) Country and entries
3) Cities (Ports) and entries
4) Port entry</p>

<p>Issues I have at this stage.</p>

<p>a) how to structure countries,cities and fishing ports?
admin will struggle to find stuff to edit if they have to page thru 500 entries  when entries have similar names "Stella maris centre" exists in Netherlands and Australia, denmark etc.  How can an admin distinguish the correct entry to edit?
This assumes I am using categories for country and city storage. </p>

<p>b) I want the url structure to be "directory/country/city/fishing-port-name"
Assuming I can use custom routes with categories to create my urls, i run into the issue above in a)</p>

<p>So should i create entry types for countries and cities and use them in heirarchy so admin can enjoy ease of finding stuff?</p>

<p>Planning around this is becoming a head spinner :)</p>

<categories><structure>
How to plan IA for a directory of content thats good for admins and users
# How to plan IA for a directory of content thats good for admins and users

(Asked by: username_0 on 2015-09-29)

I want to build a directory of fishing ports
It will have approx 500 entries, each geocoded for map display.
I will have 4 views;
1) Directory with map of entries
2) Country and entries
3) Cities (Ports) and entries
4) Port entry

Issues I have at this stage.

a) how to structure countries,cities and fishing ports?
admin will struggle to find stuff to edit if they have to page thru 500 entries when entries have similar names "Stella maris centre" exists in Netherlands and Australia, denmark etc. How can an admin distinguish the correct entry to edit?
This assumes I am using categories for country and city storage.

b) I want the url structure to be "directory/country/city/fishing-port-name"
Assuming I can use custom routes with categories to create my urls, i run into the issue above in a)

So should i create entry types for countries and cities and use them in heirarchy so admin can enjoy ease of finding stuff?

Planning around this is becoming a head spinner :)

**Tags:** categories, structure


---

## 1 answers

### Answer by username_1 on 2015-09-29. Score: 1 | Accepted answer

a) There are a definitely a few ways to handle this, but I would recommend the following. Put your Countries and Cities in a category group, nesting cities inside countries. Your Fishing Port section should be a Structure, since the entries are not time dependent like entries in a Channel. All you would need is a single category field that relates the fishing port to a city.

b) This can be done with custom routes, as long as each Fishing Port entry is related to one city category.

As for organizing the entries in the admin, you can make use of the [modify entry sortable attributes](http://buildwithcraft.com/docs/plugins/hooks-reference#modifyEntrySortableAttributes) and the [modify entry table attributes](http://buildwithcraft.com/docs/plugins/hooks-reference#modifyEntryTableAttributes) hooks, which allow you to add an attribute in the sort dropdown and add different columns to the entry view. With this, you can add a City and Country column to the structure listing.

> **Comments:**
> **username_0**: Aaron thank you - this sounds like the way forward - hooking into admin display sounds totally doable too. Phew! [Coming from another CMS for the last 5 yrs I was starting to have my doubts]  
> **username_0**: On the custom routing - I haven't looked into this deeply but in this scenario does it mean I'll  need regX / dynamic routes or need to specify them in routes config?  
> **username_2**: @username_0 setting them up with Regular Expressions in the routes.php config is better, as you can use the same "token" (named capture group) multiple times and allows to make capture groups optional. Something like this should be close to what you need: `'dir/(?P<country>[^/]+)(/(?P<city>[^/]+))?(/(?P<slug>[^/]+))?'`.  

---

