Dynamische CONDITION
Hallo,
was ich gepostet hatte funktioniert. Das ist nicht das Problem. Ich möchte aber folgenden Select ersetzen:
----------
<we:select name="SelectBereiche" reload="true">
<option>Bitte wählen:</option>
<option>Buchtip</option>
<option>Eigene Publikation</option>
<option>Film, Hörfunk</option>
<option>Online-Artikel</option>
</we:select>
-----------
Oben sind die Bereiche ja im Template fest codiert. Ich möchte aber, wie bei einer relationalen Datenbank auf die Werte aus einer Klasse zurückgreifen. Dazu habe ich folgenden Code im Template für das Backend eingegeben. Leider werden keine Objekte der Klasse angezeigt.
<we:select name="SelectBereiche" reload="true">
<option>Bitte wählen:</option>
<we:listview type="object" classid="24">
<we:repeat>
<option><we:field name="Bereiche"></option>
</we:repeat>
</we:listview>
</we:select>
--------------
Bei folgender Variante wird zwar alles angezeigt, aber es wird nichts abgespeichert, wohl weilder "reload" nicht klappt.
<select name="SelectBereiche" reload="true">
<option>Bitte wählen:</option>
<we:listview type="object" classid="24">
<we:repeat>
<option><we:field name="Bereiche"></option>
</we:repeat>
</we:listview>
<select>
Antje Gellweiler
was ich gepostet hatte funktioniert. Das ist nicht das Problem. Ich möchte aber folgenden Select ersetzen:
----------
<we:select name="SelectBereiche" reload="true">
<option>Bitte wählen:</option>
<option>Buchtip</option>
<option>Eigene Publikation</option>
<option>Film, Hörfunk</option>
<option>Online-Artikel</option>
</we:select>
-----------
Oben sind die Bereiche ja im Template fest codiert. Ich möchte aber, wie bei einer relationalen Datenbank auf die Werte aus einer Klasse zurückgreifen. Dazu habe ich folgenden Code im Template für das Backend eingegeben. Leider werden keine Objekte der Klasse angezeigt.
<we:select name="SelectBereiche" reload="true">
<option>Bitte wählen:</option>
<we:listview type="object" classid="24">
<we:repeat>
<option><we:field name="Bereiche"></option>
</we:repeat>
</we:listview>
</we:select>
--------------
Bei folgender Variante wird zwar alles angezeigt, aber es wird nichts abgespeichert, wohl weilder "reload" nicht klappt.
<select name="SelectBereiche" reload="true">
<option>Bitte wählen:</option>
<we:listview type="object" classid="24">
<we:repeat>
<option><we:field name="Bereiche"></option>
</we:repeat>
</we:listview>
<select>
Antje Gellweiler
Hallo Antje,
vielleicht helfen dir diese Hinweise weiter, denn ein we:select lässt sich leider nicht dynamisch füllen, weshalb man diese komplett generieren muss, Nachteil diese werden denoch nicht als we Tag erkannt!
http://we-devedge.de/tags/index.php?we_objectID=80
vielleicht helfen dir diese Hinweise weiter, denn ein we:select lässt sich leider nicht dynamisch füllen, weshalb man diese komplett generieren muss, Nachteil diese werden denoch nicht als we Tag erkannt!
Code: Alles auswählen
<we:ifEditmode>
<we:setVar to="global" nameto="MySelectValue" from="top" namefrom="tester" />
<select name="we_<we:var name="Name" type="property">_txt[tester]">
<option>Bitte wählen</option>
<?php
$sqlVer = mysql_query("SELECT input_Veranstaltungsname FROM tblObject_3");
$i=2;
while ($rowVer = mysql_fetch_object($sqlVer))
{
$test = $rowVer->input_Veranstaltungsname;
if ($test!="")
echo '<option value="'.$test.'">'.$test.'</option>';
}
?>
</select>
</we:ifEditmode>
http://we-devedge.de/tags/index.php?we_objectID=80
Re: Perfekt...
--------------------------------bolleone hat geschrieben:...so tuts das jetzt:
<we:form name="suchformular" type="object" id="self" method="post">
<select name="SelectStadt">
<option value="">Veranstaltungsort:</option>
<we:listview type="object" classid="6" name="ListeStadt">
<we:repeat>
<?php
if($GLOBALS['my']['lastvalue'] != $GLOBALS['lv']->f('Stadt')){
$GLOBALS['my']['lastvalue'] = $GLOBALS['lv']->f('Stadt');
?>
<option value="<we:field name="Stadt">"><we:field name="Stadt"></option>
<?php
}
?>
</we:repeat>
</we:listview>
</select>
<input type="submit" name="Submit" value="Suchen" class="sysbutton">
</we:form>
<!-- Ende Suchform -->
<we:ifNotVarSet name="SelectStadt" type="request">
<we:condition name="condition">
<we:conditionAdd field="Stadt" value="Düsseldorf" compare="="/>
</we:condition>
<we:else>
<we:condition name="condition">
<we:conditionAdd field="Stadt" value="$SelectStadt" compare="="/>
</we:condition>
</we:ifNotVarSet>
<we:listview type="object" desc="false" classid="6" triggerid="1341" order="Veranstaltungsdatum" condition="$condition">
<we:repeat>
P.S. Gibt's eigentlich eine "condition", die alle Datensätze anzeigt? Dann könnte ich nämlich in dem <we:condition> beim ersten Aufruf statt "Düsseldorf" alle Einträge anzeigen lassen.
Hallo Ralf , Hallo bolleone: ich weiß dieser Beitrag ist Uralt aber trotzdem versuche ich mein Glück, da ich inzwischen etwas verzeifelt bin.
Ich arbete gerade an der folgenden Webseite:
http://pattery.ztc-labs.de/zt-consulting/presse.php
Genau wie bolleone, habe ich eine Klasse "News" (ID:47) in dem eines der Felder, das Feld "jahr" ist (type Textinput) (z.B. 2008). Auch wie er habe ich ein Dropdown menu, indem alle Jahre die im Objekt "jahr" enthalten sind dynamisch aufgelistet werden (das klappt schon wunderwar). Voreingestellt sollte immer das aktuelle Jahr sein. Funktioniert auch. Problematisch wird es auch bei mir, nachdem man im Dropdown ein anderes Jahr wählt. Ich möchte natürlich bei dieser Suchabfrage, dass dann z.B. alle Einträge vom Jahr 2008 aufgelistet werden, undzwar geordnet nach dem Datum. Das komplete Datum ist auch in einem anderen Objekt enthalten "releasedate" (typ : date) , was ich auch im Listview verwende. Hier der Quellcode:
Code: Alles auswählen
<div class="news">
<div class="archiv">
<we:form name="suchformular" type="object" id="self" method="post">
<fieldset>
<label for="jahr">Sie sehen alle Publikationen vom Jahr:
</label>
<select name="Jahre">
<we:listview type="object" classid="47" name="ListeJahre" order="jahr" desc="true">
<we:repeat>
<?php
if($GLOBALS['my']['lastvalue'] != $GLOBALS['lv']->f('jahr')){
$GLOBALS['my']['lastvalue'] = $GLOBALS['lv']->f('jahr');
?>
<option value="<we:field name="jahr">"><we:field name="jahr"></option>
<?php
}
?>
</we:repeat>
</we:listview>
</select>
<input type="submit" name="Submit" value="Anzeigen" />
</fieldset>
</we:form>
</div> <!--end archiv-->
<we:ifNotVarSet name="Jahre" type="request">
<we:condition name="condition">
<we:conditionAdd field="jahr" value="2009" compare="="/>
</we:condition>
<we:else>
<we:condition name="condition">
<we:conditionAdd field="jahr" value="$Jahre" compare="="/>
</we:condition>
</we:ifNotVarSet>
<div id="inhalt">
<we:listview type="object" classid="47" name="presse1" order="releasedate" desc="true" condition="$condition">
<we:repeat>
<?php
$tag[$value]=$lv->f('tag');
$monat[$value]=$lv->f('monat');
$jahr[$value]=$lv->f('jahr');
$title[$value]=$lv->f('title');
$sh_text[$value]=$lv->f('shorttext');
if($value<2){?>
<div class="priv spotlight">
<?
echo "<p class='datum'>", $tag[$value], ".", $monat[$value], ".", $jahr[$value], "</p>";
echo "<h2>", $title[$value], "</h2>";
echo "<p>", $sh_text[$value], "</p>";
echo ' <a href="#" alt="Mehr Information" class="mehr">Mehr...</a> ';
echo "<br />";
echo "</div>";
}
$value++;
?>
</we:repeat>
</we:listview>
<!--end output first spotlight detailed-->
<? $value=1; ?>
<we:listview type="object" classid="47" name="presse2" order="releasedate" desc="true" condition="$condition">
<we:repeat>
<?php
$iid[$value]=$lv->f('uid');
$jahr[$value]=$lv->f('jahr');
$title[$value]=$lv->f('title');
$bild[$value]=$lv->f('teaser');
if(($jahr[$value]==2009) && ($value>2)){
echo ' <div class="priv">';
$bild1=$bild[$value];
if($bild1!=""){
echo "<p class='datum'>", $tag[$value], ".", $monat[$value], ".", $jahr[$value], "</p>";
print '<a href="#" class="thumbnail" > <img src="'. $bild1.'" height="60" width="60" /></a>'; }
$bild1=0;
echo '<a href="#" class="pressetitel" > "'. $title[$value]. '" </a> ';
echo "<p class='mehr'>", '<a href="#" alt="Mehr Information">Mehr...</a> ',"</p>";
echo "</div>";
}
$value++;
?>
</we:repeat>
</we:listview>
<!--end output 2009 short-->
</div><!--end inhalt-->
<div class="archiv">
<form action="" method="post" name="archiv" id="archiv">
<fieldset>
<label for="jahr">Archiv
</label>
<select name="jahr" id="jahr">
<option value="2009">2009</option>
<option value="2008" class="even">2008</option>
<option value="2007">2007</option>
<option value="2006" class="even">2006</option>
<option value="2005">2005</option>
<option value="2004" class="even">2004</option>
<option value="2003">2003</option>
<option value="2002" class="even">2002</option>
</select>
</fieldset>
</form>
</div> <!--end archiv-->
</div><!--end of news-->
Ich vermute, dass das Problem daran liegt, dass ich hier zwei conditions mit dem gleichen Namen habe : <we:condition name="condition">
Ich sehe vor lauter Bäume den Wald nicht mehr.
Zudem habe ich noch eine Frage die bolleone, Ralf Pospiech oder natürlich auch andere WebEdition Profis vielleicht beatworten könnten. Wie schaffe ich, dass die Links die hier zur Einzelnansicht eines News führen sollen, dynamisch sind?, so wie z.B. bei bolleone in: http://www.aknr.de/fortbildung/termine/index.php.
Klar muss ich eine andere Vorlage samt php Datei erstellen, in der die Ausgabe erfolgt, nur mit welchem Tags versehen ich das Link, so dass dann die jeweilige "New" die im Objekt enthalten ist ausgegeben wird?
Ich weiß, sorry bestimmt sehr blöde Frage, nut bei allen Beispielen der Demos, werden nicht Objekte sondern Dokumenttypen benutzt, wie z.B. hier:
http://de7.demo.webedition.de/tutorial/ ... ap_112.php
Danke vielmals!!!!!!!!!!!!!!!!!!!!!
Zuletzt geändert von freese am Fr 26. Mär 2010, 13:13, insgesamt 1-mal geändert.
-
- Senior Member
- Beiträge: 601
- Registriert: So 4. Jul 2004, 00:24
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: Dynamische CONDITION
Hallo,
einen kleinen Teil kann ich Dir schon mal vor dem Frühstück beantworten: Wie erstellst Du einen dynamischen Link auf ein Dokument, in dem dann Inhalte eines Objektes angezeigt werden?
Beispiel:
Erklärung: Das Objekt-Feld "Veranstaltungsthema" wird hier als Link ausgegeben (hyperlink=true). classid sorgt für die Zuordnung der Objektklasse (bin mir allerdings gar nicht mehr sicher, ob das noch aktuell ist) und "tid" verweist auf die ID des dynamischen WE-Dokumentes, mit dem die Daten dann angezeigt werden sollen.
Das oben genannte Beispiel sieht dann in der Ausgabe so aus:
Auf der Ausgabeseite werden die Felder des Objektes dann über <we:input> ausgegeben:
Falls man noch weitere Variablen in dem Link haben möchte, kann man sich den natürlich auch selber zusammenbauen, an die Objekt-ID kommt man ja ran...
So, das andere Problem schaue ich mir dann später an...
einen kleinen Teil kann ich Dir schon mal vor dem Frühstück beantworten: Wie erstellst Du einen dynamischen Link auf ein Dokument, in dem dann Inhalte eines Objektes angezeigt werden?
Beispiel:
Code: Alles auswählen
<we:field name="Veranstaltungsthema" hyperlink="true" classid="9" tid="245" target="_top"/>
Das oben genannte Beispiel sieht dann in der Ausgabe so aus:
Code: Alles auswählen
<a target="_top" href="/fortbildung/termine/detail.php?we_objectID=136325&we_objectTID=245">Frühlingsflora des Angertals</a>
Code: Alles auswählen
<we:input name="Veranstaltungsthema" type="text"/>
So, das andere Problem schaue ich mir dann später an...
multimediadesign.net · Atelier für Kommunikation
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net
-
- Senior Member
- Beiträge: 919
- Registriert: Fr 22. Mai 2009, 21:40
- Wohnort: Berlin
- Kontaktdaten:
Re: Dynamische CONDITION
Guten Morgen freese,
bei der verwendung von Variablen in einem we-Tag musst Du immer einen Backslash voran stellen. Also in Deiner Condition <we:conditionAdd field="jahr" value="\$Jahre" compare="="/> und auch im Listview: <we:listview type="object" classid="47" name="presse1" order="releasedate" desc="true" condition="\$condition"> und überal wo es noch fehlt.
Speziell bei Deiner Condition gibt es jedoch noch ein Problem. Das hier <we:conditionAdd field="jahr" value="$Jahre" compare="="/> dürfte nur funktionieren wenn Du register_globals aktiviert hast. Das wäre nicht clever da dies bald abgeschafft wird und in Verbindung mit webEdition (so we mit vielen anderen Programmen auch) Sicherheitslücken entstehen) Sollte das aktiviert sein, sollte das dringen geändert werden.
Bei der Erzeugung Deiner Condition müsstest Du dann auf die Request-Variable zurückgreifen. Der Einfachheit halber würde ich den ganzen Block:durch folgendes ersetzen:
Und dran denken, das Dokument muss dynamisch sein. Also im Reiter "Eigenschaften" das Häkchen auf "Dynamisch" und als Dateiendung "php".
bei der verwendung von Variablen in einem we-Tag musst Du immer einen Backslash voran stellen. Also in Deiner Condition <we:conditionAdd field="jahr" value="\$Jahre" compare="="/> und auch im Listview: <we:listview type="object" classid="47" name="presse1" order="releasedate" desc="true" condition="\$condition"> und überal wo es noch fehlt.
Speziell bei Deiner Condition gibt es jedoch noch ein Problem. Das hier <we:conditionAdd field="jahr" value="$Jahre" compare="="/> dürfte nur funktionieren wenn Du register_globals aktiviert hast. Das wäre nicht clever da dies bald abgeschafft wird und in Verbindung mit webEdition (so we mit vielen anderen Programmen auch) Sicherheitslücken entstehen) Sollte das aktiviert sein, sollte das dringen geändert werden.
Bei der Erzeugung Deiner Condition müsstest Du dann auf die Request-Variable zurückgreifen. Der Einfachheit halber würde ich den ganzen Block:
Code: Alles auswählen
<we:ifNotVarSet name="Jahre" type="request">
<we:condition name="condition">
<we:conditionAdd field="jahr" value="2009" compare="="/>
</we:condition>
<we:else>
<we:condition name="condition">
<we:conditionAdd field="jahr" value="$Jahre" compare="="/>
</we:condition>
</we:ifNotVarSet>
Code: Alles auswählen
<?php
$condition = 'Jahr = '.isset($_REQUEST['Jahre'])?intval($_REQUEST['Jahre']):2009;
?>
EOF; //totally retired
Re: Dynamische CONDITION
Erstmal vielen Dank Daniel und bolleone! Wow ich war überrascht und hätte nie gedacht, dass die WE-Commmunity so hilfsbereit ist. Entwickele mich langsam zu einem WE-Fan.
Bolleone, dein Tip werde ich Morgen (Samstag) in die Tat umsetzen und lass dich wissen ob es funktioniert. Danke dir vom ganzen Herzen.
Daniel:
Ich habe zunächst überall wo eine Variable innerhalb eines WE-Tags vorhanden war, das Backslash eingetippt. also bei:
<we:conditionAdd field="jahr" value="\$Jahre" compare="="/>
und in den Listviews:
<we:listview type="object" classid="47" name="presse1" order="releasedate" desc="true" condition="\$condition">
<we:listview type="object" classid="47" name="presse2" order="releasedate" desc="true" condition="\$condition">
Das war bestimmt ein WE-Anfängerfehler
1. Nun du hattest recht, ich habe register_globals nicht aktiviert und werde es natürlich nicht machen. Daher funktioniert die Erzeugung der condition so nicht:
Weenn ich diese Block verwende und im Dropdown versuche ein anderes Jahr auszuwählen werden nur die Einträge anzeigt, bei denen im Feld jahr, nichts eingetragen war. Zumindest hat mich das auf fehlerhafte/unvollständige Einträge hingewiesen Nachdem ich diese Infos vervollständigt habe, werden gar keine Einträge angezeigt, wenn ich ein anderes Jahr als 2009 auswähle. Beim ersten Laden der Webseite werden beide Listviews aber angezeigt.
2. Dann habe ich deinen Vorschlag mal ausprobiert und den ganzen Block oben mit:
(jahr kleingeschrieben)
ersetzt. Analog als früher gibt die Suchabfrage nicht nur z.B. alle Einträge die im Feld jahr 2008 haben (organisiert nach dem Feld releasedate) aus, sondern es werden immer nur die Einträge angezeigt die im Feld jahr 2009 haben.
Ich meine wenn ich deine Abfrage verstehe:
dann wird ja als condition gesetzt, dass nur solche Einträge dargestellt werden sollen die im Feld jahr 2009 haben. Also eine "nicht dynamische" Abfrage die nur bei 2009 funktioniert? Wie kann ich also die Funktionalität von:
mit einer reinen PHP-Abfrage ersetzen die auch die anderen Jahren ausgibt?
3. Die Listviews und Abfrage (Dropdown) sind beide in der selben Vorlage, dass sollte natürlich funktionieren oder? Das hier (auf Seite 1 dieses Threads) hat mich etwas verunsichert:
Bolleone, dein Tip werde ich Morgen (Samstag) in die Tat umsetzen und lass dich wissen ob es funktioniert. Danke dir vom ganzen Herzen.
Daniel:
Ich habe zunächst überall wo eine Variable innerhalb eines WE-Tags vorhanden war, das Backslash eingetippt. also bei:
<we:conditionAdd field="jahr" value="\$Jahre" compare="="/>
und in den Listviews:
<we:listview type="object" classid="47" name="presse1" order="releasedate" desc="true" condition="\$condition">
<we:listview type="object" classid="47" name="presse2" order="releasedate" desc="true" condition="\$condition">
Das war bestimmt ein WE-Anfängerfehler
1. Nun du hattest recht, ich habe register_globals nicht aktiviert und werde es natürlich nicht machen. Daher funktioniert die Erzeugung der condition so nicht:
Code: Alles auswählen
<we:ifNotVarSet name="Jahre" type="request">
<we:condition name="condition">
<we:conditionAdd field="jahr" value="2009" compare="="/>
</we:condition>
<we:else>
<we:condition name="condition">
<we:conditionAdd field="jahr" value="\$Jahre" compare="="/>
</we:condition>
</we:ifNotVarSet>
2. Dann habe ich deinen Vorschlag mal ausprobiert und den ganzen Block oben mit:
Code: Alles auswählen
<?php
$condition = '[color=#FF0000]j[/color]ahr = '.isset($_REQUEST['Jahre'])?intval($_REQUEST['Jahre']):2009;
?>
ersetzt. Analog als früher gibt die Suchabfrage nicht nur z.B. alle Einträge die im Feld jahr 2008 haben (organisiert nach dem Feld releasedate) aus, sondern es werden immer nur die Einträge angezeigt die im Feld jahr 2009 haben.
Ich meine wenn ich deine Abfrage verstehe:
Code: Alles auswählen
<?php
$condition = 'jahr = '.isset($_REQUEST['Jahre'])?intval($_REQUEST['Jahre']):2009;
?>
Code: Alles auswählen
<we:ifNotVarSet name="Jahre" type="request">
<we:condition name="condition">
<we:conditionAdd field="jahr" value="2009" compare="="/>
</we:condition>
<we:else>
<we:condition name="condition">
<we:conditionAdd field="jahr" value="$Jahre" compare="="/>
</we:condition>
</we:ifNotVarSet>
3. Die Listviews und Abfrage (Dropdown) sind beide in der selben Vorlage, dass sollte natürlich funktionieren oder? Das hier (auf Seite 1 dieses Threads) hat mich etwas verunsichert:
DANKE!!!!!!!!!!!!!! SCHÖN!!!!!!!!!Ralf Pospiech hat geschrieben:Die Selectfelder selbst sind auch nur Listviews:
<select name="select1">
<we:listview type="object" name="liste1">
<we:repeat>
<option value="<we:field name='feld1'"><we:field name='feld1'></option>
</we:repeat>
</we:listview>
</select>
auf der 2. Seite bauen Sie dann dynamisch diese Condition:
<we:condition name="condition">
<we:addCondition field="feld1" value="$liste1" compare="=">
</we:condition>
Zu beachten ist das Sie mit mehreren Conditions arbeiten wollen, dabei sollten Sie dann immer noch abfragen ob die Variable überhaupt gefüllt ist.
-
- Senior Member
- Beiträge: 919
- Registriert: Fr 22. Mai 2009, 21:40
- Wohnort: Berlin
- Kontaktdaten:
Re: Dynamische CONDITION
Hi freese,
zu 2)
Die Bedingung sollte so schon richtig sein. Die 2009 ist nur der Default-Wert, wenn keine Jahrszahl übermittelt wurde.
Vermutlich ist hier auch der Variablenname nur nicht korrekt. Dein erstes Select scheint "Jahre" zu heissen, Dein zweites "Jahr".
$_REQUEST['Jahre'] ist der Wert aus dem Formular, das 'Jahre' hier muss also dem Namen des Selectfeldes entsprechen.
Ja so sind wir.Wow ich war überrascht und hätte nie gedacht, dass die WE-Commmunity so hilfsbereit ist.
zu 2)
Die Bedingung sollte so schon richtig sein. Die 2009 ist nur der Default-Wert, wenn keine Jahrszahl übermittelt wurde.
Vermutlich ist hier auch der Variablenname nur nicht korrekt. Dein erstes Select scheint "Jahre" zu heissen, Dein zweites "Jahr".
$_REQUEST['Jahre'] ist der Wert aus dem Formular, das 'Jahre' hier muss also dem Namen des Selectfeldes entsprechen.
EOF; //totally retired
Re: Dynamische CONDITION
Ich hab das untere select zum testen "deaktiviert" (name=""), aber daran liegt das Problem offensichtlich nicht. Hier ist der ganze Quellcode von :
http://pattery.ztc-labs.de/zt-consulting/presse.php
Vielleicht ist das so besser nachvollziehbar. Jedenfalls kann ich keine Fehler entdecken. Woran könnte es denn noch liegen?
Und so sieht z.B. einer der Objekte aus:
http://pattery.ztc-labs.de/zt-consulting/presse.php
Vielleicht ist das so besser nachvollziehbar. Jedenfalls kann ich keine Fehler entdecken. Woran könnte es denn noch liegen?
Und so sieht z.B. einer der Objekte aus:
Code: Alles auswählen
<we:include type="template" id="161" />
<!--Include Header-->
<!--Include Body-->
<we:include type="template" id="227" />
<div id="inhalt_wrap">
<div class="liste_formatiert" style="padding-left: 15px;">
<h2>Aktuelle ZTC-Presseinformationen
</h2>
</div>
<div class="news">
<div class="archiv">
<we:form name="suchformular" type="object" id="self" method="post">
<fieldset>
<label for="jahr">Sie sehen alle Publikationen vom Jahr:
</label>
<select name="Jahre">
<we:listview type="object" classid="47" name="ListeJahre" order="jahr" desc="true">
<we:repeat>
<?php
if($GLOBALS['my']['lastvalue'] != $GLOBALS['lv']->f('jahr')){
$GLOBALS['my']['lastvalue'] = $GLOBALS['lv']->f('jahr');
?>
<option value="<we:field name="jahr">"><we:field name="jahr"></option>
<?php
}
?>
</we:repeat>
</we:listview>
</select>
<input type="submit" name="Submit" value="Anzeigen" />
</fieldset>
</we:form>
</div> <!--end archiv-->
<div id="inhalt">
<?php
$condition = 'Jahr = '.isset($_REQUEST['Jahre'])?intval($_REQUEST['Jahre']):2009;
?>
<we:listview type="object" classid="47" name="presse1" order="releasedate" desc="true" condition="\$condition">
<we:repeat>
<?php
$tag[$value]=$lv->f('tag');
$monat[$value]=$lv->f('monat');
$jahr[$value]=$lv->f('jahr');
$title[$value]=$lv->f('title');
$sh_text[$value]=$lv->f('shorttext');
if($value<2){?>
<div class="priv spotlight">
<?
echo "<p class='datum'>", $tag[$value], ".", $monat[$value], ".", $jahr[$value], "</p>";
echo "<h2>", $title[$value], "</h2>";
echo "<p>", $sh_text[$value], "</p>";
echo ' <a href="#" alt="Mehr Information" class="mehr">Mehr...</a> ';
echo "<br />";
echo "</div>";
}
$value++;
?>
</we:repeat>
</we:listview>
<!--end output first spotlight detailed-->
<? $value=1; ?>
<we:listview type="object" classid="47" name="presse2" order="releasedate" desc="true" condition="\$condition">
<we:repeat>
<?php
$iid[$value]=$lv->f('uid');
$jahr[$value]=$lv->f('jahr');
$title[$value]=$lv->f('title');
$bild[$value]=$lv->f('teaser');
if(($jahr[$value]==2009) && ($value>2)){
echo ' <div class="priv">';
$bild1=$bild[$value];
if($bild1!=""){
echo "<p class='datum'>", $tag[$value], ".", $monat[$value], ".", $jahr[$value], "</p>";
print '<a href="#" class="thumbnail" > <img src="'. $bild1.'" height="60" width="60" /></a>'; }
$bild1=0;
echo '<a href="#" class="pressetitel" > "'. $title[$value]. '" </a> ';
echo "<p class='mehr'>", '<a href="#" alt="Mehr Information">Mehr...</a> ',"</p>";
echo "</div>";
}
$value++;
?>
</we:repeat>
</we:listview>
<!--end output 2009 short-->
</div><!--end inhalt-->
<div class="archiv">
<form action="" method="post" name="archiv" id="archiv">
<fieldset>
<label for="">Archiv
</label name="">
<select>
<option value="2009">2009</option>
<option value="2008" class="even">2008</option>
<option value="2007">2007</option>
<option value="2006" class="even">2006</option>
<option value="2005">2005</option>
<option value="2004" class="even">2004</option>
<option value="2003">2003</option>
<option value="2002" class="even">2002</option>
</select>
</fieldset>
</form>
</div> <!--end archiv-->
</div><!--end of news-->
</div><!--end inhalt_wrap-->
<!--Include Footer-->
<we:include type="template" id="163" />
-
- Senior Member
- Beiträge: 919
- Registriert: Fr 22. Mai 2009, 21:40
- Wohnort: Berlin
- Kontaktdaten:
Re: Dynamische CONDITION
Und dynamisch ist das Dokumnet, ja? Die .php-Endung reicht hier nicht, das Häkchen bei "Dynamisch" muss im Dokument auch gesetzt sein.
EOF; //totally retired
-
- Senior Member
- Beiträge: 1319
- Registriert: Do 22. Mai 2003, 23:25
Re: Dynamische CONDITION
Hi,
in der Condition prüfst du das Feld "Jahr", laut deines Screenshots heißt es aber "jahr".
Du solltest in deinem select, wenn die Seite funktioniert unbedingt noch eine Abfrage für "selected" unterbringen, damit man weiß was man ausgewählt hat.
in der Condition prüfst du das Feld "Jahr", laut deines Screenshots heißt es aber "jahr".
Du solltest in deinem select, wenn die Seite funktioniert unbedingt noch eine Abfrage für "selected" unterbringen, damit man weiß was man ausgewählt hat.
Re: Dynamische CONDITION
Das Häckchen bei "Seite dynamisch generieren" ist gesetzt (bei presse.php). Danke auch e_herrmann für den Hinweis. In der condition esteht nun Jahr klein:we:willRockYou hat geschrieben:Und dynamisch ist das Dokumnet, ja? Die .php-Endung reicht hier nicht, das Häkchen bei "Dynamisch" muss im Dokument auch gesetzt sein.
Code: Alles auswählen
<?php
$condition = 'jahr = '.isset($_REQUEST['Jahre'])?intval($_REQUEST['Jahre']):2009;
?>
Hier noch die Headers von Firebug beim Versuch Einträge von 2007 abzufragen:
Danke!
-
- Senior Member
- Beiträge: 1319
- Registriert: Do 22. Mai 2003, 23:25
Re: Dynamische CONDITION
Hast du dir schon einmal $condition mit php ausgeben lassen?
Re: Dynamische CONDITION
Hallo bolleone:bolleone hat geschrieben:Hallo,
einen kleinen Teil kann ich Dir schon mal vor dem Frühstück beantworten: Wie erstellst Du einen dynamischen Link auf ein Dokument, in dem dann Inhalte eines Objektes angezeigt werden?
Beispiel:Erklärung: Das Objekt-Feld "Veranstaltungsthema" wird hier als Link ausgegeben (hyperlink=true). classid sorgt für die Zuordnung der Objektklasse (bin mir allerdings gar nicht mehr sicher, ob das noch aktuell ist) und "tid" verweist auf die ID des dynamischen WE-Dokumentes, mit dem die Daten dann angezeigt werden sollen.Code: Alles auswählen
<we:field name="Veranstaltungsthema" hyperlink="true" classid="9" tid="245" target="_top"/>
Das oben genannte Beispiel sieht dann in der Ausgabe so aus:
Auf der Ausgabeseite werden die Felder des Objektes dann über <we:input> ausgegeben:Code: Alles auswählen
<a target="_top" href="/fortbildung/termine/detail.php?we_objectID=136325&we_objectTID=245">Frühlingsflora des Angertals</a>
Falls man noch weitere Variablen in dem Link haben möchte, kann man sich den natürlich auch selber zusammenbauen, an die Objekt-ID kommt man ja ran...Code: Alles auswählen
<we:input name="Veranstaltungsthema" type="text"/>
So, das andere Problem schaue ich mir dann später an...
In den beiden listviews die ich nutze um die Einträge wiederzugeben , benutze ich momentan nur ein statisches Link wie:
D.h. was ich eigentlich wollte ist, dass bei jedem Link nur ein Mehr... zu sehen ist: ( http://pattery.ztc-labs.de/zt-consulting/presse.php)echo ' <a href="#" alt="Mehr Information" class="mehr">Mehr...</a> ';
aber, dass das Link natürlich dynamisch ist. Bei deinem Vorschlag wird der Linktext direkt aus dem Feld Veranstaltungsthema des Objektes gezogen.
Angepasst an meinem Fall bräuchte ich also ungefähr so etwas:
Code: Alles auswählen
<we:field name="feld-in-dem-mehr-steht" hyperlink="true" classid="47" tid="1373" target="_blank"/>
Zudem kann ich nicht ein <we:field /> innerhalb von php eingeben. Meine Listviews sehen jetzt so aus:
Code: Alles auswählen
<we:listview type="object" classid="47" name="presse1" order="releasedate" desc="true" condition="\$condition">
<we:repeat>
<?php
$tag[$value]=$lv->f('tag');
$monat[$value]=$lv->f('monat');
$jahr[$value]=$lv->f('jahr');
$title[$value]=$lv->f('title');
$sh_text[$value]=$lv->f('shorttext');
if($value<2){?>
<div class="priv spotlight">
<?
echo "<p class='datum'>", $tag[$value], ".", $monat[$value], ".", $jahr[$value], "</p>";
echo "<h2>", $title[$value], "</h2>";
echo "<p>", $sh_text[$value], "</p>";
echo ' <a href="#" alt="Mehr Information" class="mehr">Mehr...</a> ';
echo "<br />";
echo "</div>";
}
$value++;
?>
</we:repeat>
</we:listview>
<!--end output first spotlight detailed-->
<? $value=1; ?>
<we:listview type="object" classid="47" name="presse2" order="releasedate" desc="true" condition="\$condition">
<we:repeat>
<?php
$iid[$value]=$lv->f('uid');
$jahr[$value]=$lv->f('jahr');
$title[$value]=$lv->f('title');
$bild[$value]=$lv->f('teaser');
if(($jahr[$value]==2009) && ($value>2)){
echo ' <div class="priv">';
$bild1=$bild[$value];
if($bild1!=""){
echo "<p class='datum'>", $tag[$value], ".", $monat[$value], ".", $jahr[$value], "</p>";
print '<a href="#" class="thumbnail" > <img src="'. $bild1.'" height="60" width="60" /></a>'; }
$bild1=0;
echo '<a href="#" class="pressetitel" > "'. $title[$value]. '" </a> ';
echo "<p class='mehr'>", '<a href="#" alt="Mehr Information">Mehr...</a> ',"</p>";
echo "</div>";
}
$value++;
?>
</we:repeat>
</we:listview>
<!--end output selected short-->
Wie könnte ich also dieses: echo "<p class='mehr'>", '<a href="#" alt="Mehr Information">Mehr...</a> ',"</p>";
ersetzen? Ich glaube ich werdet mich hier rauskicken...so viele dumme Fragen....
Die Umsetzung dieser Funktionalität mit Blog-Software wie Wordpress, etc. wäre ziemlich banal, hier scheint es etwas schwieriger, obwohl klar, wordpress z.B. niemals so flexibel ist wie WE (es ja auch kein CMS).
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste