Here are a couple of questions that will be important for the data design. First, can everything you need be represented by a single record for each Doctor with fields for everything you need to store about that Doctor? Second, will users be searching for doctors by things other than name (e.g. location, specialty, medical group, etc).
I think the answer to the first question is probably yes. If the answer to the second one is no, the answer is pretty easy:
- Create a resource for each doctor. Make them all children of a resource called Doctors (let's say its ID is 12). Use the fields of the resource for as much information as you can, e.g.,
pagetitle: Doctor's last name
longtitle: Doctor's full name
etc.
- Create Template Variables for any data that won't fit in the standard resource fields.
- Create a separate Template for the individual Doctor pages laid out you however you want, with placeholder tags for the info.
- Use the Create/Edit resource panel in the Manager to add new doctors and edit existing ones.
- Use getResources or pdoResources to display your list of doctors, with links to their full page. This is done with a Tpl chunk (let's call it DoctorRowTpl) that contains the HTML to display one doctor with placeholder tags for the doctor's info. Something like this:
<li><span class="name"> [[+longtitle]]</span> <a href="[[~[[+id]]]]">Read More . . .</a></li>
The tag to display all the doctors would look like this (and could go on the Doctors page - the parent of the individual doctor pages):
[[getResources? &parents=`12` &tpl=`DoctorRowTpl`]]
If users will need to search by data that's stored in the TVs, you can still use this strategy, but searches may get a little slow when you have a lot of doctors.