Bedigungen für Anzeige einer cms Seite schreiben

Hallo,
habe die Frage aus Versehen im englischen Forum gestellt, jetzt nochmal hier im deutschsprachigen.
Ich möchte eine cms Seite in der Sidebar so verlinken, dass sie nur bei bestimmten Seiten gezeigt wird (Startseite und 2 cms-Seiten). Für die Startseite konnte ich mir das abschauen:
[{if $oView->getClassName() eq “start”}]
[{oxifcontent ident=“pb_start_schweiz_box” object=“oCont”}]
[{ $oCont->oxcontents__oxcontent->value }]
[{/oxifcontent}]
[{/if}]
Nun möchte ich aber auch noch, dass sie Seite bei den cms Seiten über Bestellung bzw Versand gezeigt wird, möglichst unabhänig von der aktiven Sprache, also der SEO URL. Wie kann ich die Bedingung schreiben? Über die oxident?
Vielen Dank im Voraus!

Hallo @piccobello,

schau doch mal in /setup/database.php o.ä. Dort gibt es eine oxCredits, bei der man sich multilingual etwas abschauen könnte :wink:

Gruß

Hallo,
bin immer noch nicht weitergekommen mit meinem Problem. Die entsprechene Datei habe ich mir angeschaut, auch die Liste der Oxidklassen, aber es klappt nicht.
Versucht habe ich es unter anderem mit:
[{if $oView->getViewId(“1074279e67a85f5b1.96907412”) }]
[{oxifcontent ident=“pb_start_schweiz_box” object=“oCont”}]
[{ $oCont->oxcontents__oxcontent->value }]
[{/oxifcontent}]
[{/if}]
wobei ich bei der ID die eingesetzt habe, die ich in der Database.sql für die cmsSeite gefunden habe. Aber nun wird die cms Seite immer angezeigt.
Ist das überhaupt der richtige Ansatz?

Danke für einen weiteren Tip!

:confused: So geht das nicht. Es wird natürlich angezeigt, solange die ID existiert. Such mal nach “location”. Damit kannst nach Seiten fragen:

[{if $location == "Warenkorb"

oder vielleicht bringt Dich folgendes auf eine Idee

[{if !$oView->getIsOrderStep()}]

Um den Einbau zu vereinfachen, kannst Dir folgendes anschauen:
http://forum.oxid-esales.com/showthread.php?t=20827#post133293

Danke erst mal für die Unterstützung. Habe mal probeweise

[{if $location == "Warenkorb"}]

eingesetzt, nur wird bei mir dann im Warenkorb nichts ausgegeben (da gibt es aber auch keine Sidebar). Was soll da denn in den Anführungsstrichen für ein Wert eigegeben werden? Ein Teil der URL?

[{if !$oView->getIsOrderStep()}]

ist auch nicht ganz das Richtige, ich möchte nämlich, dass die cms Seite in der Sidebar bei den Seiten oxorderinfo und oxdeliveryinfo ausgegeben wird, also nicht im Bestellprozess.
Diesen Thread habe ich gefunden

http://forum.oxid-esales.com/showthread.php?p=64919

.
Die dort genannte provisorische Lösung

	[{ if $oView->getLink() eq 'http://www.testseite.de/shop/Bestellen-und-Bezahlen/' }]			
		[{oxifcontent ident="pb_start_schweiz_box" object="oCont"}]
					[{ $oCont->oxcontents__oxcontent->value }]
			[{/oxifcontent}]
        [{/if}]

funktionniert schon, ist aber soweit ich das beurteilen kann keine zuverlässige Lösung.

Hallo,

Wenn Du die CMS Seite einer Kategorie zugewiesen hast sollte es möglicherweise so funktionieren:

[{if $actCategory->oxcategories__oxid->value == 'xxxxxxxx'}]

Zumindest funktioniert es bei mir mit den Artikel Kategorieren so.

Ja, bei einer Kategorie hätte ich keine Schwierigkeiten. Nun habe ich die beiden oxorderinfo und oxdeliveryinfo aber als Snippet, da sie in Footer stehen. Was sind die dann??? Keine class, keine categorie,…
Könnte auch auf manuell stellen, wenn das was bringen würde.

Sollte so gehen:

[{if $oViewConf->getContentId() == "1074279e67a85f5b1.96907412"}] 

Das hatte ich auch schon probiert, aber da wirft es das ganze Frontend durcheinander, ohne dass ein Sytaxfehler gemeldet wird.

Dann poste mal deinen Code wie du das probierst, das funktioniert nämlich eigentlich.

Also das habe ich die die sidebar.tpl eingefügt:
[{block name=“sidebar_schweiz”}]
[{if $oView->getClassName() eq “start”}]
[{oxifcontent ident=“pb_start_schweiz_box” object=“oCont”}]
[{ $oCont->oxcontents__oxcontent->value }]
[{/oxifcontent}]
[{/if}]
[{if $oViewConf->getContentId() == “1074279e67a85f5b1.96907412”}]
[{oxifcontent ident=“pb_start_schweiz_box” object=“oCont”}]
[{ $oCont->oxcontents__oxcontent->value }]
[{/oxifcontent}]
[{/if}]
[{/block}]
Der Inhalt der Box ist dann:
<div class=“box” style=“padding: 0px 0px 0px 0px”>
<h3>[{ oxcontent ident=“pb_start_schweiz_box” field=“oxtitle”}]</h3>
<ul class=“content”>
<li><a style=“padding: 10px 0px 0px 50px” href=[{ oxgetseourl ident=“pb_start_schweiz_info” type=“oxcontent” }]><img src="/shop/out/fck_pictures/schweiz-hundewindeln-piccobello.png" alt="" /></a></li>
<li ><a class=“readMore” href=[{ oxgetseourl ident=“pb_start_schweiz_info” type=“oxcontent” }]>[{ oxcontent ident=“pb_start_schweiz_info” field=“oxtitle”}]</a></li>
</ul>
</div>

[QUOTE=piccobello;133942]
Der Inhalt der Box ist dann: …
[/QUOTE]
Und genau das hast du in die CMS-Seite eingetragen, oder?
Und die Bedingung, die du ja eigentlich haben wolltest, funktioniert so wie ich es gepostet habe, sehe ich das richtig?

Ja, der Inhalt der Box steht in der cms-Seite pb_start_schweiz_box. Der scheint aber keinen Fehler zu haben. Das Durcheinander im Frontend kommt erst, wenn ich
[{if $oViewConf->getContentId() == “1074279e67a85f5b1.96907412”}] [{/if}] drumherumbaue.
Habe übrigens die Version 4.5.8 und das azure Template.

Sorry das kann ich nicht so ganz glauben. Wenn der Inhalt so drinsteht wird er mit [{ $oCont->oxcontents__oxcontent->value }] eben so ausgegeben. Wenn du geparsten Inhalt brauchst musst du [{$oView->getParsedContent()}] verwenden.

http://forum.oxid-esales.com/showthread.php?t=20953#post133979

Damit geht es.

Die Probleme gibt es wie gesagt nur bei dem Codeteil

[{if $oViewConf->getContentId() == "1074279e67a85f5b1.96907412"}]

. Nehme ich stattdessen beispielsweise

[{if $oViewConf->getActCatId() == "hier setzte ich die ID einer Kategorie ein"}]

wird mir alles brav ausgegeben.

Für meine Begriffe ergibt sich das aus meiner ersten Antwort.

Folgendes fragt die [B]OXID[/B] ab und höchstwahrscheinlich willst aber was anderes abrufen:

$oViewConf->getContentId()

In der readme steht [B]was anderes[/B] :wink:

Ich will die ID der cms Seite von oxorderinfo abrufen. Dazu habe ich die Zahl genommen, die links unten erscheint, wenn ich im admin mit der Maus über den Titel der Seite fahre. Ist das nicht die OXID?

Ok hab die Shopversion nicht gesehen, die Funktion gibt es da nicht, probier mal:

[{assign var="oConf" value=$oView->getConfig()}]
[{assign var="sContentId" value=$oConf->getParameter('oxcid')}]
[{if $sContentId == "1074279e67a85f5b1.96907412"}] 
...

Ohhhhhhhhhhhhhhhhhhhhh das ist super, du hast meinen Sonntag gerettet !!!

Vielen, lieben Dank

Mignon