[Erledigt] Zeige Sidebar mit Navigation wenn Unternavigation vorhanden.

Für Fragen und Diskussionen zum Layout und Design, Templates und Stylesheets sowie Themes
Post Reply
uniqu3

[Erledigt] Zeige Sidebar mit Navigation wenn Unternavigation vorhanden.

Post by uniqu3 »

Hallo Community,

ich bin gerade dabei einen neuen Free Template für CMSMS zu erstellen und brauche eure Hilfe.
Ich vermute dazu wird nicht die komplette System Information benötigt aber trotzdem ich verwende:
CMS Version 1.7.1
Installed Modules
CMSMailer
2.0
FileManager
1.0.2
MenuManager
1.6.3
ModuleManager
1.3.3
News
2.10.5
nuSOAP
1.0.1
Printing
1.0.4
Search
1.6.3
ThemeManager
1.1.1
TinyMCE
2.7.0
EditArea
0.2.9
FormBuilder
0.6.2
BulkStructure
0.4
CGSimpleSmarty
1.4.5
Current PHP Version (phpversion):
5.2.10
Und jetzt zum Problem. Ich möchte automatisch im Template selber erkennen ob eine Seite Unterseite beinhaltet oder selbst als Unterseite definiert ist.
Wenn das der fall ist wird im Template per if abfrage die anordnung und {content} geändert.
Einen Ansatz habe ich mit cgsimplesmarty schon gefunden, zumindest funktioniert es wenn die Seite eine First level seite ist und diese Unterseiten beinhaltet, doch beim besuch der Unterseite funkionert es nicht mehr.

So die demo seite ist unter http://www.i-arts.eu/typofolio/index.php?page=features zu finden.
Und code zum Problem:

Code: Select all

<!-- start pageContent part -->
      {content block="Show Intro Text" oneline="true" size="1" default="-" assign="show_intro"}
      {if empty($show_intro)}{assign var="show_intro" value="+"}{/if}
        {if $show_intro == "+"}
      <div class="col col_16 pageIntro">
        <p>{content block="Intro Text" oneline='true'}
        </p>
      </div>
      <div class="clear">
        </div>
      {/if}
{$cgsimple->has_children('','has_children')}{if $has_children}
<div class="col col_11 pageContent">  <h2>{if isset($pagetitle)}
   {$pagetitle}
{else}
   {title}
{/if}</h2>
      {content}</div>
      <div class="col_5 col pageSidebar">
      <h2>Navigation</h2>
      {menu start_level='2'}
      <h2>Latest News</h2>
      {news summarytemplate='sidebarNews'}
      </div>{else}
      <div class="col col_16 pageContent">  <h2>
   {$pagetitle}
</h2>
      {content}
      </div>
            {/if}
Gebe es auch Lösung ohne cgsimplesmarty oder wie wäre die komplette Lösung mit cgsimplesmarty?

Danke!
Last edited by uniqu3 on Mon Jul 05, 2010 6:31 pm, edited 1 time in total.
owr_bgld

Re: Hilfe Bitte - Zeige Sidebar mit Navigation wenn Unternavigation vorhanden.

Post by owr_bgld »

Ich hab mich noch nicht wirklich viel mit cgsimplesmarty beschäftigt. Daher mal die kurze Frage - ist es egal welche Unterseite? Wenn ja, dann kannst du einfach folgendes verwenden (ich habs mal aus der Modulhilfe kopiert, weil ich mir das ganze nie auswendig merke)
get_root_alias([$alias],[$assign])

Gibt den Alias der übergeordneten Seite der 1. Ebene zurück. Falls keine übergeordneten Seiten existieren, wird ein leerer String zurück gegeben.
also sozusagen

Code: Select all

{if $cgsimple->get_root_alias() ==""}das was bei der ersten Ebene reinkommt{else}das was bei Unterseiten reinkommt{/if}
bzw. die Frage mit dem Umweg wäre noch möglich

Code: Select all

.... {elseif $cgsimple->get_root_alias =="ALIAS"}Da kommt das für eine bestimmte Unterkategorie rein{else} ....
uniqu3

Re: Hilfe Bitte - Zeige Sidebar mit Navigation wenn Unternavigation vorhanden.

Post by uniqu3 »

ja ist eigentlich egal welche seite/unterseite, es soll einfach zum verwalten sein, sprich als Template hier einfach zu handhaben, so das user nicht viel einstellen müssen und es einfach automatisch funzt :)

Ich werde es mal ausprobieren und berichten.
uniqu3

Re: Hilfe Bitte - Zeige Sidebar mit Navigation wenn Unternavigation vorhanden.

Post by uniqu3 »

Leider bringt das nicht den erwünschten Effekt, sprich die Seite ändert sich nicht und bleibt mit 1 column.
Eigentlich müsste es doch irgendwie möglich sein die abfrage wie has_children auch für child zu machen?

Hier http://www.i-arts.eu/typofolio/index.php?page=features funktioniert die abfrage, sprich sidebar wird angezeigt das die Seite auch Unterseiten beinhaltet.

Code: Select all

{$cgsimple->has_children('','has_children')}{if $has_children}
Die abfrage erledigt die arbeit ist auch klar es fragt nach has_children und wenn diese da sind wird template geändert.
Beim klick auf http://www.i-arts.eu/typofolio/index.ph ... -a-subpage wird leider sidebar nicht angezeigt ist natürlich durch die abfrage oben auch natürlich da die Seite keine Unterseiten beinhaltet ist aber eine Unterseite.
Last edited by uniqu3 on Mon Jul 05, 2010 6:12 pm, edited 1 time in total.
NaN

Re: Hilfe Bitte - Zeige Sidebar mit Navigation wenn Unternavigation vorhanden.

Post by NaN »

Und was ist damit (ist im Prinzip owr_webs Idee nur nicht mit root_alias, sondern einfach nur parent_alias):

Code: Select all


{if $cgsimple->has_children() || $cgsimple->get_parent_alias()}
...
Mit sidebar und so
...
{else}
...
ohne sidebar
...
{/if}

uniqu3

Re: Hilfe Bitte - Zeige Sidebar mit Navigation wenn Unternavigation vorhanden.

Post by uniqu3 »

NaN und owr_web meine helden  ;)

Das funktioniert NaN
owr_bgld

Re: [Erledigt] Zeige Sidebar mit Navigation wenn Unternavigation vorhanden.

Post by owr_bgld »

ahhh - ok jetzt hab ich realisiert wie du das
Und jetzt zum Problem. Ich möchte automatisch im Template selber erkennen ob eine Seite Unterseite beinhaltet oder selbst als Unterseite definiert ist.
gemeint hast  ;D

Aber schön das es jetzt funktioniert - NaN hat ja gottseidank die Zeile, bei der ich anscheinend gedanklich ausgestiegen bin genauer gelesen.

[offtopic]ich wundere mich in letzter Zeit immer öfter, warum ich das modul noch immer soweinig einsetze [/offtopic]
Post Reply

Return to “Layout und Design”