I’m trying to build a “local church finder”. Although it does work the way it’s set up, it is extremely heavy on the database now.
Every District (first column) has several Regions (second) wich has several Churches (third).
I made a weblog for Districts, one for Regions and another for Churches with relationships inbetween.
Because I need a well structured “Churches/Regios/Districts” output into UL’s and DIV’s for the tabs/subtabs I’m calling Districts and then through reverse relations calling Regio’s to build the UL’s and again to build the DIV’s. I’m passing a variable (Regio) to an embed that’s calling all Churches wich are related to that specific Regio.
The first part (District/Regio) goes fine, for there aren’t too many districts or regio’s. But then it gets really ugly.
Anyone have an idea how to structure or call the content more efficiently?
The code:
~ index page:
<div id="zoeker" class="span-24">
<h3>Kerkzoeker</h3>
<p> <ul id="district" class="span-8"><br />
<span></span><br />
{exp:weblog:entries weblog="lokale-kerken-district" orderby="title" sort="desc" dynamic="off"}<br />
<li class="tab"><br />
<a href="#regio-{url_title}">_ <strong>{district-naam}</strong>_ <br>_ {district-ondertitel}_ </a><br />
</li><br />
{/exp:weblog:entries}<br />
</ul><br />
{exp:weblog:entries weblog="lokale-kerken-district" limit="" orderby="title" sort="desc" dynamic="off"}<br />
<div id="regio-{url_title}" class="span-16 last"><br />
<ul class="span-4"><br />
<span></span><br />
{reverse_related_entries weblog="lokale-kerken-regio" orderby="title" sort="asc"}<br />
<li><a href="#locatie-{url_title}">{title}</a></li><br />
{/reverse_related_entries}<br />
</ul><br />
{reverse_related_entries weblog="lokale-kerken-regio" orderby="title" sort="asc"}<br />
<div id="locatie-{url_title}" class="span-12 last"><br />
{embed="lokale-kerken/locatie" regio="{url_title}"}<br />
</div> <br />
{/reverse_related_entries}<br />
</div><br />
{/exp:weblog:entries}<br />
</div>~ “location” embed:
{exp:weblog:entries weblog="lokale-kerken-regio" limit="" orderby="title" sort="desc" dynamic="off"}
{if url_title == "{embed:regio}"}
<ul class="span-4">
<span></span>
{reverse_related_entries weblog="lokale-kerken-locatie" orderby="title" sort="asc"}
<li><a href="#dienst-{url_title}">{title}</a></li>
{/reverse_related_entries}
</ul>
{reverse_related_entries weblog="lokale-kerken-locatie" orderby="title" sort="asc"}
<div id="dienst-{url_title}" class="kerk span-8 last">
{embed="site/dienst" locatie="{url_title}"}
</div>
{/reverse_related_entries}
{/if}
{/exp:weblog:entries}~ “dienst”/details embed:
{exp:weblog:entries weblog="lokale-kerken-locatie" limit="" orderby="title" sort="desc" dynamic="off"}
{if url_title == "{embed:locatie}"}
{if locatie-prent}
{exp:imgsizer:size image="{locatie-prent}" width="146" alt="{title}" class="kerkprent"}
{/if}
<h4>{title}</h4>
<p> {locatie-straat} {locatie-straat-nummer}{if locatie-straat-nummer-bus} bus {locatie-straat-nummer-bus}{/if}</span><br />
</p>
<p> {locatie-postcode} {locatie-gemeente}<br />
{reverse_related_entries weblog="lokale-kerken-dienst" orderby="dienst-uur" sort="asc"}<br />
dienst om {dienst-uur}u{dienst-minuten}<br />
{/reverse_related_entries}<br />
{if locatie-detail}<a href="http://{path=">→ detailpagina</a>{/if}<br />
{/if}<br />
{/exp:weblog:entries}(I know it’s quite ugly)