Dynamisches URL Design
Posted: 21 Juni 2007 06:43 AM   [ Ignore ]  
Newbie
Avatar
Rank
Total Posts:  25
Joined  2007-04-30

Ich versuche nun seit tagen eine funktionierende Lösung zu entwickeln die es mir dynamisches URl Design erlaubt.

Mein Ziel ist es eine rekursive URL zu basteln. Ich will eine url im folgenden Format schaffen:

http://yourdomain.com/archiv
Hier soll eine Übersichtsseite also quasi das eigentliche Archiv generiert werden

http
://yourdomain.com/archiv/2007
Hier sollen alle Einträge des Jahres 2007 angezeigt werden

http
://yourdomain.com/archiv/2007/06
Hier sollen alle Einträge des Monats Juni im Jahr 2007 angezeigt werden[/i]

http
://yourdomain.com/archiv/2007/06/11
Hier sollen alle Einträge des 11 Tages im Monat Juni im Jahr 2007 angezeigt werden

http
://yourdomain.com/archiv/2007/06/11/
Hier sollen alle Einträge des 11 Tages im Monat Juni im Jahr 2007 angezeigt werden

http
://yourdomain.com/archiv/2007/06/11/eintrags-titel
Hier sollen der Eintrag "Eintrags Titel" des 11 Tages im Monat Juni im Jahr 2007 angezeigt werden 

Ich hoffe ihr könnt mir folgen. Ich habe versucht das über condionals und Segment_1/Segment_2 zu
lösen aber dann bin ich null flexibel und hab 7km Quelltext. Hat jmd. eine Idee?

Gruß Steffen

 Signature 

INTERVISUAL | FLICKr

Profile
 
 
Posted: 21 Juni 2007 06:50 AM   [ Ignore ]   [ # 1 ]  
Newbie
Avatar
Rank
Total Posts:  25
Joined  2007-04-30

Hier mal ein Beispiel wie ich mir das denke…

{if segment_1 == "archiv" && segment_2==""}
    
<h2>Vollst&auml;ndiges Archiv</h2>
{/if}

{if segment_1
=="archiv" && segment_2=="2006"}
        
<h2>Archive Jahr 2006</h2>
{/if} 

{if segment_1
=="archiv" && segment_2=="2007"}
        
<h2>Archive Jahr 2007</h2>
{/if} 


{if segment_1
=="archiv" && segment_2 !="" && segment_2 "2006" OR segment_2 >"2007"}
        
<h2>Keine Einträge in diesem Jahr</h2>
{/if} 
 Signature 

INTERVISUAL | FLICKr

Profile
 
 
Posted: 21 Juni 2007 07:16 AM   [ Ignore ]   [ # 2 ]  
Sr. Member
Avatar
RankRankRankRank
Total Posts:  141
Joined  2005-07-23

Du könntest z.B. für das Jahresarchiv auch wie folgt schreiben:

{if segment_1=="archiv" && segment_2=="2007"}
        
<h2>Archiv Jahr {segment_2}</h2>
{/if} 

Also einfach die {segment_x}-Variablen in die Überschriften einbauen.

Für http://yourdomain.com/archiv/2007/06/11 hättest du dann z.B. einfach:

{if segment_4!=""}
<h2>Archiv für den {segment_4}.{segment_3}.{segment_2}</h2>
{/if} 
 Signature 

mapu.de

Profile
 
 
Posted: 21 Juni 2007 08:41 AM   [ Ignore ]   [ # 3 ]  
Newbie
Avatar
Rank
Total Posts:  25
Joined  2007-04-30

Ich glaube ich unterschätze EE wirklich ein wenig… wink

{exp:yearly_archives weblog="{my_weblog}" start_month="1"}
    {if segment_1
=="archiv" && segment_2=="{year}" && segment_3==""}
        
<h2>{if leap_year == 1}<em>{year}</em>{if:else}{year}{/if}</h2>
        <
ul>
            
{months}
                {if num_entries 
0}
                    
<li><a href="{path=archiv}{year}/{month_num}/" title="{num_entries} Beiträge im {month} {year}">{month}</a> ({num_entries})</li>
                
{/if}
            {
/months}
        
</ul>
    
{/if}
{
/exp:yearly_archives}

{exp
:weblog:month_links weblog="{my_weblog}"}
    {if segment_1
=="archiv" && segment_2=="{year}" && segment_3=="{month_num}"}
        
<h2>{month}</h2>
        <
dl>
        
{exp:weblog:entries weblog="{my_weblog}" orderby="date" sort="desc"}
            
<dt>{title}</dt>
            
{date_heading}
            
<dd>{entry_date format=' %l, %F %d, %Y '}</dd>
            
{/date_heading}
        {
/exp:weblog:entries}
        
</dl>
    
{/if}
{
/exp:weblog:month_links} 

Das ist doch schonmal ein Anfang. Muss noch einige Fallbacks einbauen etwas feilen und den Gedanken noch zu enden Denken… dann passt auf jedenfall. Halte euch auf dem laufenden…

 Signature 

INTERVISUAL | FLICKr

Profile
 
 
Posted: 22 Juni 2007 06:12 AM   [ Ignore ]   [ # 4 ]  
Newbie
Avatar
Rank
Total Posts:  25
Joined  2007-04-30

Soweit so gut… nur ein Problem offenbart sich mir gerade… wie zum Teufel kann ich einen bestimmten Tag an die URL übergeben?

{exp:weblog:entries weblog="{my_weblog}"

    {if segment_4
=="entry_date format='%d'"}
        
<p>{title}</p>
    
{/if}

{
/exp:weblog:entries} 

Will meinen: Wenn im Segment_4 ein Tag(d) übergeben wird gib den Titel des Eintrag/Einträge des entsprechenden Tages aus. Aber irgendwie parst der entry_date format=‘d’ nicht.

Es würde theoretisch ja reichen zu prüfen ob im Segment 4 eine Zahl steht. Nur wie prüfe ich den Inhalt des Segments?

Also:

{if segment_4!="" && segment_4=="{ZAHL}"}
        
<p>{title}</p>
{/if} 
 Signature 

INTERVISUAL | FLICKr

Profile
 
 
Posted: 22 Juni 2007 06:44 AM   [ Ignore ]   [ # 5 ]  
Sr. Member
Avatar
RankRankRankRank
Total Posts:  141
Joined  2005-07-23

Ich glaube, du denkst etwas zu kompliziert… wink

Mehr als zu überprüfen, ob im 4. Segment was drinsteht, brauchst du nicht…

{if segment_4!=""}

{exp
:weblog:entries weblog="{my_weblog}" year="{segment_2}" month="{segment_3}" day="{segment_4}"}
...
{/exp:weblog:entries}

{
/if} 
 Signature 

mapu.de

Profile