Hilfe - Suche - Mitglieder - Kalender
Vollansicht: widget
Forum Sefrengo.org > Allgemeine Foren > Anwenderforum
oberbilker
hallo alle,

ich baue gerade für ein projekt ein paar widgets - sprich, ich generiere content, der mit einem simplen script auf anderen webseiten eingebunden werden kann.
dazu ist es erforderlich, dass ich den inhalt vollkommen plain übergebe, also im template layout ohne head, body, etc.

das ist alles problemlos solange ich automatisch generierte inhalte ausgebe (zb. mit der listennavigation).
beispiel:
QUELLTEXT
document.write ('<div class="widget">')
<cms:lay type="container" id="1" title="content1"/>
document.write ('</div>')

problematisch wird es erst, wenn ich ein widget aus einem inhalt, den ich selbst einpflege, erstellen will.
dazu brauche ich <cms:lay type="head"/> und <cms:lay type="config"/>, um auf der seite überhaupt inhalte einpflegen zu können.

beides dürfte aber nur im backend angezeigt werden - nicht mehr in der frontend-ausgabe.
also packe ich beispielhaft folgendes mit in das layout:
QUELLTEXT
<CMSPHP>
if ($cms_side['edit'])
{
echo "backend";
}
else
{
echo "frontend";
}
</CMSPHP>

klappt auch, bis ich dann <cms:lay type="head"/> und <cms:lay type="config"/> einsetze, dann gibt es nur noch die weiße seite.

hat jemand von euch eine idee, woran es scheitert? oder gar eine bessere lösung?

gruss, oberbilker
Hr.Rossi

Hallo Oberbilker (und der mitlesende Rest),

ich habe eine Anmerkung und eine Frage....

zuerst die Anmerkung. Du hast im ersten Code-Beispiel die JavaScript-Funktion 'document.write' gemischt mit festen Strings (CMS-Lay-Tag) verwendet. Interessant, wenn es so funktioniert.

Und jetzt die Frage: Hast Du im zweiten Code-Beispiel das CMS-Lay-Tag mit echo ausgegeben oder fest reingeschrieben. Das macht sicherlich einen Unterschied...

Lieben Gruß,
HrRossi
oberbilker
hallo hr rossi,

zur anmerkung:
ja, das geht. natürlich muss das modul entsprechend aufgebaut sein. in meinem fall bei der listen-navi zb. so
QUELLTEXT
document.write ('<li><a target="_blank" href="http://www.domain.tld/{link}" title="{name}">{name}</a></li>')

ich gebe zu - es gibt schöneres. ist halt ein wenig "gebastelt".

zur frage:
versucht mit echo, also etwa so
QUELLTEXT
<CMSPHP>
if ($cms_side['edit'])
{
echo "<head>";
echo "<title></title>";
echo "<cms:lay type='config'/>";
echo "</head>";
}
else
{
echo "";
}
</CMSPHP>

ergibt das unten beschriebene nicht-ergebnis. ich hoffe, damit ist es etwas klarer geworden?
Hr.Rossi
hallo oberbilker,

ich hab's mal eben bei mir nachgestellt. Wenn ich das Layout wie folgt aufbaue, dann geht's...

QUELLTEXT
<CMSPHP>
if ($cms_side['edit'])
{
</CMSPHP>

  <html>
  <head>
  <title></title>
  <cms:lay type="head"/>
  </head>
  <body>

<CMSPHP>
}
</CMSPHP>

<cms:lay type="container" id="1" title="Seiten-Content"/>

<CMSPHP>
if ($cms_side['edit'])
{
</CMSPHP>

  </body>
  </html>
  <cms:lay type="config"/>

<CMSPHP>
}
</CMSPHP>


Wie Du siehst, kann müssen CMSPHP-Blöcke nicht "vollständig" sein, sondern können später fortgeführt werden. Ich hoffe, es ist noch einigermaßen lesbar geblieben.

Wünsche Dir viel Erfolg bei Deinem Projekt.
Hr.Rossi
oberbilker
hallo hr rossi,

vielen dank - das klappt auch bei mir!
habe mich mit einigen modulen erfolgreich daran probiert. leider scheitere ich beim einbinden von contentflex - da ist die manipulation der ausgabe einfach zu komplex, um alles umzustricken.
return of simple modules bild, text, textarea... werde damit mal rumspielen.

gruss, oberbilker
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.