• twitter image
  • facebook image
  • youtube image
  • linkedin image
Language: CMS Made Simple Czech CMS Made Simple France CMS Made Simple Spain CMS Made Simple Hungary CMS Made Simple Russia CMS Made Simple Netherlands

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: Im Template abfragen, ob man sich in der Newsdetail-ansicht befindet oder nicht.
PostPosted: Sun Dec 26, 2010 4:18 pm 
Offline
Forum Members
Forum Members

Joined: Mon Feb 09, 2009 6:09 pm
Posts: 39
Im Template steht folgender Code:
Quote:

{title}


{content}
 


Links im Menü ist eine Voransicht für News eingebaut.
Wenn der User dort auf einen Newstitel klickt, wird im content die Detailansicht der News gezeigt.
Hier steht oben der Titel der News.
Es wird also erst der Titel der Seite, dann der Titel der News angezeigt.

Es soll aber nur der Titel der News angezeigt werden.

d.h. im Template muß es eine IF-Abfrage geben, wenn im content-Bereich nicht die Detailansicht der news steht, dann zeige {titel} an, sonst nicht.

Auf was kann man denn da genau abfragen? Wie lautet die korrekte Smarty-Syntax?

Schönen Gruß, Regina


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Im Template abfragen, ob man sich in der Newsdetail-ansicht befindet oder nicht.
PostPosted: Sun Dec 26, 2010 4:59 pm 
Offline
Power Poster
Power Poster
User avatar

Joined: Tue Aug 12, 2008 9:30 pm
Posts: 2071
Location: Feldkirchen in Kärnten, Austria
Hi,

in deinem News Detail-Template füge etwas wie das hier hinzu und lösche {$entry->title}:
{assign var='pagetitle' value=$entry->title}

Danach in deinem Template einfach abfrage folgend einfügen:
{if isset($pagetitle)}{$pagetitle}{else}{title}{/if}

_________________
CMSMS Blog - I do this!
Forge profile
Github profile
Twitter
=============================================
Support CMSMS


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Im Template abfragen, ob man sich in der Newsdetail-ansicht befindet oder nicht.
PostPosted: Mon Dec 27, 2010 11:25 am 
Offline
Forum Members
Forum Members

Joined: Mon Feb 09, 2009 6:09 pm
Posts: 39
Hi uniqu3,

Deine Lösung erscheint mir so genial wie einfach.
(Was nicht heißt, daß ich von selbst jemals drauf gekommen wäre ;))
Leider scheint die Variable $pagetitle im Template nie gesetzt zu sein, auch nicht, wenn ich auf die Detailansicht der News klicke.

Auch wenn ich sie ausgebe, ist sie immer leer.

Im Detail-Template habe ich die Variable ganz oben definiert und kann dann auch weiter unten drauf zu greifen.

Hast Du eine Idee, woran das liegen könnte?

Gruß, Regina


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Im Template abfragen, ob man sich in der Newsdetail-ansicht befindet oder nicht.
PostPosted: Mon Dec 27, 2010 11:53 am 
Offline
Power Poster
Power Poster
User avatar

Joined: Tue Aug 12, 2008 9:30 pm
Posts: 2071
Location: Feldkirchen in Kärnten, Austria
Wie sehen jetzt dein News Detail Template und Page Template aus, müsste ja eigentlich funktioneren?
In der regel mache ich es noch so im Page Template, ganz am Anfang.

{if !isset($pagetitle)}{capture assign='pagetitle'}{title}{/capture}{/if}

So kann ich im Template einfach {$pagetitle} ohne if abfragen verwenden.

_________________
CMSMS Blog - I do this!
Forge profile
Github profile
Twitter
=============================================
Support CMSMS


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Im Template abfragen, ob man sich in der Newsdetail-ansicht befindet oder nicht.
PostPosted: Mon Dec 27, 2010 12:57 pm 
Offline
Forum Members
Forum Members

Joined: Mon Feb 09, 2009 6:09 pm
Posts: 39
OK, so habe ich das jetzt auch gemacht.
Das ist wirklich übersichtlicher, als die IF-Else-Konstruktion.

Er gibt aber immer den Seitentitel aus, statt den News-Titel, auch wenn ich auf der News-Detailseite bin, also offensichtlich ist  if(!isset($pagetitle)) nie true.

Ich habe ganz oben im Page-Template diese Zeile eingetragen:
Quote:
{if !isset($pagetitle)}{capture assign='pagetitle'}{title}{/capture}{/if}


Weiter unten (also vor {content} dieses hier:
Quote:

{$pagetitle}



Am Anfang des News-Detail-Templates steht:
Quote:
{assign var='pagetitle' value=$entry->title}


Also eigentlich wie es sein sollte, oder?

Ich fürchte, ich muß den ganzen Vorgang mal mit meinem PHPEd debuggen.
Dazu muß ich aber erst mal rausfinden, in welchen Dateien das Template zusammengesetzt wird.
Ogottogottt..... :o


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Im Template abfragen, ob man sich in der Newsdetail-ansicht befindet oder nicht.
PostPosted: Mon Dec 27, 2010 1:49 pm 
Offline
Power Poster
Power Poster
User avatar

Joined: Tue Aug 12, 2008 9:30 pm
Posts: 2071
Location: Feldkirchen in Kärnten, Austria
Ist die Seite irgendwo online zugänglich? Kannst mir ja einen Zugang über PM zukommen lassen und ich schau es mir an.

Templates werden in der Datenbank gespeichert, da suchst Du Dateien dafür vergeblich.

_________________
CMSMS Blog - I do this!
Forge profile
Github profile
Twitter
=============================================
Support CMSMS


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Im Template abfragen, ob man sich in der Newsdetail-ansicht befindet oder nicht.
PostPosted: Mon Dec 27, 2010 4:18 pm 
Offline
Forum Members
Forum Members

Joined: Mon Feb 09, 2009 6:09 pm
Posts: 39
Danke für das Angebot, aber die Seite ist momentan nur lokal bei mir.
Ja, schon klar, daß die Templates nicht als Files existieren.
Aber aus der Datenbank müssen sie ja auch ausgelesen werden und dann irgendwie geparst.

Ich schau mir das bei Gelegenheit mal an im Debugger und melde, was ich gefunden habe...


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
 Post subject: Re: Im Template abfragen, ob man sich in der Newsdetail-ansicht befindet oder nicht.
PostPosted: Tue Dec 28, 2010 9:05 am 
Offline
Forum Members
Forum Members

Joined: Mon Feb 09, 2009 6:09 pm
Posts: 39
Ich habe in meinem Debugger einen Haltepunkt gesetzt in der Datei Smarty.class.php in der Funktion assign.
Da sehe ich, daß zuerst eine Variable im Seiten-Template gesetzt wird und später erst die aus dem Detail-Template der News.

Deswegen scheint obige Lösung bei mir nicht zu funktionieren, weil eben die Variable für den Newstitel noch nicht assigned ist.

Ich habe jetzt folgende Lösung gefunden:
Quote:
{if $smarty.get.mact !='News,cntnt01,detail,0'}

{title}

{/if}


Also, nur wenn die Get-Variable mact nicht 'News,cntnt01,detail,0' ist, dann wird der Seitentitel angezeigt.

Das funktioniert soweit prima, ich bin mir nur nicht sicher, ob die Variable immer so heißt, oder ob die Ziffern variieren? z.B. auf 'News,cntnt01,detail,1'

Für den Fall wäre es mir lieber ich würde nicht auf $smarty.get.mact != 'News,cntnt01,detail,0' abfragen, sondern auf
$smarty.get.mact enthält nicht 'News'.
Ich finde aber nicht die richtige Smarty-Syntax dafür.

Mit Smarty kenne ich mich gar nicht aus...


Top
  Profile  
 
Share On:
Share on Facebook Share on Twitter Share on Google+
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
A2 Hosting