Hallo,
auf einer Suchergebnisseite, wird der gefundene Text erst abgeschnitten und dann dargestellt.
Die Eingabefelder des Textes heißen auf allen Seiten gleich ("copytext"), stehen nur bei manchen Templates innerhalb eines we:blocks.
Folgender Code steht innerhalb der listview:
<?php
$ytext=$lv->f("copytext");
$ypfad=$lv->f("WE_PATH");
$space=" ";
$cuton=90;
while ($teller <= $cuton) {
if (substr($ytext,$cuton-$teller,1)==$space) {
$ytext=substr($ytext,0,$cuton-$teller);
break;
}
$teller++;
}
if ($ytext != "") {
echo "$ytext ... <a href="$ypfad">> mehr</a>";
}
?>
Die Anzeige des Textes funktioniert nur, wenn sich der "copytext" nicht innerhalb eines we:block befindet. Wie kann ich auch diesen Text abfangen und darstellen. hab darüber nichts gefunden.
Anzeige Text innerhalb listview
-
- Senior Member
- Beiträge: 3735
- Registriert: Do 1. Jan 1970, 02:00
- Wohnort: Karlsruhe
- Kontaktdaten:
- haydi
- Senior Member
- Beiträge: 645
- Registriert: Do 1. Jan 1970, 02:00
- Wohnort: Hirschberg
- Kontaktdaten:
Vielen Dank für die Antwort.
Da jedoch nicht der ganze Inhalt des we:input Tags "copytext" angezeigt werden soll, hab ich das PHP-Script gebastelt.
Bei den we:input Tags der Detailseiten kann es sein, dass sie auch mal nicht innerhalb eines we:block Tags stehen.
Außerdem haben die we:block Tags in den diversen Templates unterschiedliche Namen.
Der Name des we:input Tags lautet jedoch stets "copytext" (auch innerhalb eines we:block).
Hoffe, ich habe das Problem einigermaßen verdeutlicht...
Wie komme ich an den Inhalt, ohne den Blocknamen zu kennen? Oder gibt es eine andere Lösung?
Da jedoch nicht der ganze Inhalt des we:input Tags "copytext" angezeigt werden soll, hab ich das PHP-Script gebastelt.
Bei den we:input Tags der Detailseiten kann es sein, dass sie auch mal nicht innerhalb eines we:block Tags stehen.
Außerdem haben die we:block Tags in den diversen Templates unterschiedliche Namen.
Der Name des we:input Tags lautet jedoch stets "copytext" (auch innerhalb eines we:block).
Hoffe, ich habe das Problem einigermaßen verdeutlicht...
Wie komme ich an den Inhalt, ohne den Blocknamen zu kennen? Oder gibt es eine andere Lösung?
-
- Senior Member
- Beiträge: 3735
- Registriert: Do 1. Jan 1970, 02:00
- Wohnort: Karlsruhe
- Kontaktdaten:
- haydi
- Senior Member
- Beiträge: 645
- Registriert: Do 1. Jan 1970, 02:00
- Wohnort: Hirschberg
- Kontaktdaten:
danke für die Antwort.
Das mit dem versteckten Feld ist eine sehr gute Idee, war mir dann aber doch zu umständlich
Ich habe nun den Blöcken in den verschiedenen Templates den gleichen Namen gegeben ("liste"), das auszulesende Feld heißt "copytext".
Ich wollte nun auch diese Felder auslesen und den Text beschneiden, es funktioniert aber nicht. Habe das Script nun auf folgendes reduziert, um die grundsätzliche Funktion zu testen. Es geht aber nicht; es kommt auch keine Fehlermeldung. Die Variable ist einfach leer.
Was ist falsch?
<?php
$ytext=$lv->f("copytext");
$ypfad=$lv->f("WE_PATH");
$space=" ";
$cuton=90;
while ($teller <= $cuton) {
if (substr($ytext,$cuton-$teller,1)==$space) {
$ytext=substr($ytext,0,$cuton-$teller);
break;
}
$teller++;
}
if ($ytext != "") {
echo "$ytext ... <a href="$ypfad">> mehr</a>";
} else {
$block = unserialize($we_doc->getElement("liste"));
for($i=0; $i<sizeof($block); $i++)
{
$nr = $block[$i];
$feld= $we_doc->getElement("copytextblk_liste_".$nr);
echo "Der Inhalt des Feldes copytext ist: " . $feld . "
";
}
}
?>
Das mit dem versteckten Feld ist eine sehr gute Idee, war mir dann aber doch zu umständlich
Ich habe nun den Blöcken in den verschiedenen Templates den gleichen Namen gegeben ("liste"), das auszulesende Feld heißt "copytext".
Ich wollte nun auch diese Felder auslesen und den Text beschneiden, es funktioniert aber nicht. Habe das Script nun auf folgendes reduziert, um die grundsätzliche Funktion zu testen. Es geht aber nicht; es kommt auch keine Fehlermeldung. Die Variable ist einfach leer.
Was ist falsch?
<?php
$ytext=$lv->f("copytext");
$ypfad=$lv->f("WE_PATH");
$space=" ";
$cuton=90;
while ($teller <= $cuton) {
if (substr($ytext,$cuton-$teller,1)==$space) {
$ytext=substr($ytext,0,$cuton-$teller);
break;
}
$teller++;
}
if ($ytext != "") {
echo "$ytext ... <a href="$ypfad">> mehr</a>";
} else {
$block = unserialize($we_doc->getElement("liste"));
for($i=0; $i<sizeof($block); $i++)
{
$nr = $block[$i];
$feld= $we_doc->getElement("copytextblk_liste_".$nr);
echo "Der Inhalt des Feldes copytext ist: " . $feld . "
";
}
}
?>
- haydi
- Senior Member
- Beiträge: 645
- Registriert: Do 1. Jan 1970, 02:00
- Wohnort: Hirschberg
- Kontaktdaten:
Wie rufe ich per PHP innerhalb eines listviews textarea-felder ab, die wiederum auf der detailseite im we:block stehen?
we:block hat den namen liste
we:textarea hat den namen copytext
habe es so umgesetzt, es funktioniert aber nicht, die variable $feld ist leer:
$block = unserialize($we_doc->getElement("liste"));
for($i=0; $i<sizeof($block); $i++)
{
$nr = $block[$i];
$feld= $we_doc->getElement("copytextblk_liste_".$nr);
echo "Der Inhalt des Feldes copytext ist: " . $feld . "
";
}
das funktioniert wohl nicht, weil es in einem listview eingebunden ist. Wie kann es umgesetzt werden?
we:block hat den namen liste
we:textarea hat den namen copytext
habe es so umgesetzt, es funktioniert aber nicht, die variable $feld ist leer:
$block = unserialize($we_doc->getElement("liste"));
for($i=0; $i<sizeof($block); $i++)
{
$nr = $block[$i];
$feld= $we_doc->getElement("copytextblk_liste_".$nr);
echo "Der Inhalt des Feldes copytext ist: " . $feld . "
";
}
das funktioniert wohl nicht, weil es in einem listview eingebunden ist. Wie kann es umgesetzt werden?
gleiches Problem
Hallo,
gab's schon eine Antwort auf das Problem des leeren Feldes?
Habe nämlich das gleiche Problem dass das Script von we-devedge nicht funktioniert. Habe es auch mit we:block um das Script herum versucht, aber das gibt nur Fehlermeldungen.
In stiller Erwartung
gab's schon eine Antwort auf das Problem des leeren Feldes?
Habe nämlich das gleiche Problem dass das Script von we-devedge nicht funktioniert. Habe es auch mit we:block um das Script herum versucht, aber das gibt nur Fehlermeldungen.
In stiller Erwartung
[quote=""haydi""]Wie rufe ich per PHP innerhalb eines listviews textarea-felder ab, die wiederum auf der detailseite im we:block stehen?
hi,
weiß nicht, ob es sich schon erledigt hat, ich habe das ganze wie folgt gelöst:
mfg
hi,
weiß nicht, ob es sich schon erledigt hat, ich habe das ganze wie folgt gelöst:
Code: Alles auswählen
<we:listview type="document" name="subnavi" doctype="Navigation">
<we:repeat>
<?php
$block = unserialize($lv->f("MainNavigation"));
// Block abarbeiten
for($iZaehler=0;$iZaehler<sizeof($block);$iZaehler++)
{
$nr = $block[$iZaehler];
$sNavi = $lv->f("SubNavigation_nameblk_MainNavigation_".$nr);
echo("<!-- ".$iZaehler.": ".$sNavi."-->n");
}
?>
</we:repeat>
</we:listview>
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste