Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Block nur auf 3 bestimmten Seiten anzeigen lassen? 
 
FabianMei
Jr. Member
 
Total Posts:  6
Joined:  2013-03-21
 

Hallo,

ich bin am verzweifeln :(
Ich möchte auf drei Kategorie-Übersichtsseiten einen Block im Headerbereich anzeigen lassen. Diesen habe ich in einer eigenen phtml Datei erstellt. Das Anzeigen klappt auch - allerdings wird der Block leider auf allen Seiten angezeigt.

Wie kann ich die Anzeige auf nur drei bestimmte Seiten beschränken?

Vielen Dank!

Viele Grüße

Fabian

 
Magento Community Magento Community
Magento Community
Magento Community
 
robin2160
Mentor
 
Avatar
Total Posts:  1046
Joined:  2009-02-15
Berlin / Germany
 

Ich würde das mit einer if Abfrage der Kategorie IDs steuern.
z.B. so ( für die header.phtml)

if(Mage::registry('current_category')): // Abfrage ob Kategorieseite
$catid=Mage::registry('current_category')->getId(); // aktuelle Kategorie ID holen
if($catid==|| $catid==45 || $catid==78): // Ist es eine der Kategorien wo die Ausgabe erfolgen soll? Wenn ja dann Ausgabe
Blockausgabestring
endif;
endif;

Die entsprechenden Kategorie-IDs siehst du ja in der Kategorieverwaltung.

VG Stefan

 
Magento Community Magento Community
Magento Community
Magento Community
 
FabianMei
Jr. Member
 
Total Posts:  6
Joined:  2013-03-21
 

Hey Stefan,

vielen Dank für deine Hilfe. Das hört sich nach einer guten Lösung an.
Ich habe nun meine Blockdefinitionen wieder aus der local.xml gelöscht und habe den von dir vorgeschlagenen PHP-Code in die header.phtml eingefügt. Mit der Ausgabe von \"Hello World\” klappt das wunderbar smile Ich bin also dank deiner Hilfe kurz vorm Ziel.
Wo ich gerade noch hänge ist, wie lade ich das Template (title.phtml)?

In der xml hatte ich den Block einfach mit folgenden Code geladen:

<block type=\"catalog/category_view\" name=\"category.title\" after=\"breadcrumbs\" template=\"catalog/category/title.phtml\"/>

Ich habe bisher nur Snippets gefunden, wo man Blöcke anhand ihrer ID laden kann. Diese habe ich aber nicht, da ich lediglich eine phtml Datei habe. Kannst du mir da vielleicht weiterhelfen?

Vielen Dank!

Viele Grüße

Fabian

 
Magento Community Magento Community
Magento Community
Magento Community
 
robin2160
Mentor
 
Avatar
Total Posts:  1046
Joined:  2009-02-15
Berlin / Germany
 

Versuche das mal als Blockausgabestring

echo $this->getLayout()->createBlock('catalog/category')->setTemplate('catalog/category/title.phtml')->toHtml();

Also nicht über XML gesteuert, sondern als direkten Aufruf in der header.phtml.
Die title.phtml sollte dann aber auch im Verzeichnis catalog/category liegen.

VG Stefan

 
Magento Community Magento Community
Magento Community
Magento Community
 
FabianMei
Jr. Member
 
Total Posts:  6
Joined:  2013-03-21
 

Hallo Stefan,

vielen Dank für die schnelle Hilfe. Nachdem ich category in category_view geändert hatte, klappt es!! smilesmile

createBlock('catalog/category_view')

Vielen Dank! Du warst mir eine große Hilfe.

Schönes Wochenende,

viele Grüße Fabian

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top