Fehlende Anzeige in Dokumenten nach Update auf 8.0

Fragen und Infos zur Installation & Update von webEdition.
DieKleine
Member
Beiträge: 55
Registriert: Mo 7. Nov 2016, 18:29

Fehlende Anzeige in Dokumenten nach Update auf 8.0

Beitragvon DieKleine » Di 9. Jan 2018, 17:28

Hallo und guten Tag,

ich habe meine webEdition Installation von 6.4.4 schrittweise auf 8.0 geupdatet (der zwischenschritt war 7.0.3), und habe jetzt fest gestellt, dass mir in den Dokumenten die auf einem Template basieren ein paar felder die ich in der Vorlage implementiert habe fehlen. Der Inhalt der in diesen stand wird im Frontend aber angezeigt.
Das Fehler-Protokoll war aktiviert, bekamm aber bei dem Update von 6.4.4 auf 7.0.3 nur eine User notive mit der Meldung "time for updates". Nach einem Rebuild der Dokumente und Vorlagen habe ich das Frontend überprüft und das sah normal aus, also habe ich ohne die Dokumente zu überprüfen das Update zu 8.0 angestoßen. Danach stand nichts neues im Fehler-Protokoll und nach dem Rebuild hatte ich auch wieder alle Funktionen im Frontend.
Nun wird mir in meinen Dokumenten nicht mehr alles angezeigt, so dass ich die Seite nicht mehr richtig bearbeiten kann...
Ich habe die Seite mit PHP 5.6 und 7.0 getestet (obwohl ich in der Versionshistorie nachgelesen habe das 5.6 noch kompatibel ist).

Ich habe auch die we:tags angeschaut, ob alles noch passt, habe da jedoch nichts auffälliges entdeckt.
Hier mal der betreffende Code:

Code: Alles auswählen

			<we:ifEditmode>
				<we:comment>Einzelne Zeilen als Blöcke</we:comment>
				<we:block name="block_row">
						<we:input type="checkbox" name="borderless" to="global" nameto="borderless" />
						<we:input type="checkbox" name="wrapper" to="global" nameto="wrapper" />
						<div class="row <?php if(!empty($borderless) AND $borderless > 0){echo 'borderless';}?>">
							<?php if($wrapper == "1"){echo '<div class="wrapper">';} ?>
								[Wrapper: <we:input type="checkbox" name="wrapper" reload="true" />] [Randlos: <we:input type="checkbox" name="borderless" reload="true" />] [Zeile Aktiviert: <we:input type="checkbox" name="activerow" />]
								<we:input type="checkbox" name="active1" to="global" nameto="colactive[1]" />
								<we:input type="checkbox" name="active2" to="global" nameto="colactive[2]" />
								<we:input type="checkbox" name="active3" to="global" nameto="colactive[3]" />
								<we:input type="checkbox" name="active4" to="global" nameto="colactive[4]" />
								<?php
									$cols=0;
									if($colactive[1] > 0)$cols++;
									if($colactive[2] > 0)$cols++;
									if($colactive[3] > 0)$cols++;
									if($colactive[4] > 0)$cols++;
								?>
								[Box Aktiviert: 1<we:input type="checkbox" name="active1" reload="true" /> 2<we:input type="checkbox" name="active2" reload="true" /> 3<we:input type="checkbox" name="active3" reload="true" /> 4<we:input type="checkbox" name="active4" reload="true" />]<br />
								<?php if($colactive[1] > 0){ ?>
									<div class="col1 cols<?=$cols?>">
										Modul:<br />
										<we:href name="module1" type="int" file="true" directory="false" reload="false" rootdir="1614" />
										Inhalt:<br />
										<we:textarea inlineedit="false" wysiwyg="true" name="coltext1" editorcss="1617" />
									</div>
								<?php } ?>
								<?php if($colactive[2] > 0){ ?>
									<div class="col2 cols<?=$cols?>">
										Modul:<br />
										<we:href name="module2" type="int" file="true" directory="false" reload="false" rootdir="1614" />
										Inhalt:<br />
										<we:textarea inlineedit="false" wysiwyg="true" name="coltext2" editorcss="1617" />
									</div>
								<?php } ?>
								<?php if($colactive[3] > 0){ ?>
									<div class="col3 cols<?=$cols?>">
										Modul:<br />
										<we:href name="module3" type="int" file="true" directory="false" reload="false" rootdir="1614" />
										Inhalt:<br />
										<we:textarea inlineedit="false" wysiwyg="true" name="coltext3" editorcss="1617" />
									</div>
								<?php } ?>
								<?php if($colactive[4] > 0){ ?>
									<div class="col4 cols<?=$cols?>">
										Modul:<br />
										<we:href name="module4" type="int" file="true" directory="false" reload="false" rootdir="1614" />
										Inhalt:<br />
										<we:textarea inlineedit="false" wysiwyg="true" name="coltext4" editorcss="1617" />
									</div>
								<?php } ?>
								<br class="clr" />
							</div>
					<?php if($wrapper == "1"){echo '</div>';} ?>
				</we:block>
			<we:else />
Liegt es vielleicht doch ein einem we:tag, welches ich vielleicht übersehen habe?
Der Inhalt der mir im Dokument nicht mehr angezeigt wird ist der in der "if($colactive[x] > 0)"-Abfrage.

Ich bin für jeden Tipp offen. Danke schon einmal.

LG
Anna

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Fehlende Anzeige in Dokumenten nach Update auf 8.0

Beitragvon mokraemer » Di 9. Jan 2018, 18:58

naja der Kode hier:

Code: Alles auswählen

 <we:input type="checkbox" name="borderless" to="global" nameto="borderless" />
                  <we:input type="checkbox" name="wrapper" to="global" nameto="wrapper" />
                  <div class="row <?php if(!empty($borderless) AND $borderless > 0){echo 'borderless';}?>">
kann so eigentlich nicht korrekt funktionieren. Das muß vielmehr:

Code: Alles auswählen

 <we:input type="checkbox" name="borderless" to="global" nameto="borderless" />
                  <we:input type="checkbox" name="wrapper" to="global" nameto="wrapper" />
                  <div class="row <?php if($GLOBALS['borderless'] > 0){echo 'borderless';}?>">
heißen. Wenn man die Daten nach global schreibt, sollte man sie auch da auslesen.
Auch wenn ich grade nicht sehe wieso, könnte das durchaus aus dem Wegfall der php-evaluierung liegen.
Natürlich hast du unten mit dem colactive genau das gleiche Problem.
Das müßte dann in etwa

Code: Alles auswählen

<we:input type="checkbox" name="active1" to="global" nameto="colactive[1]" />
                        <we:input type="checkbox" name="active2" to="global" nameto="colactive[2]" />
                        <?php
                           $cols=0;
                           if($GLOBALS['colactive'][1] > 0)$cols++;
heißen.
webEdition-Kern-Entwickler

DieKleine
Member
Beiträge: 55
Registriert: Mo 7. Nov 2016, 18:29

Re: Fehlende Anzeige in Dokumenten nach Update auf 8.0

Beitragvon DieKleine » Mi 10. Jan 2018, 16:18

Danke schon einmal für die Antwort.

Ich habe den Code angepasst, allerdings gab es keine Veränderung. Dieser Codeschnippsel funktioniert aktuell noch auf einer webEdition 6.4.4 ohne Probleme.
Ich denke ich werde auf einer Subdomain noch mal das Backup der Seite aufspielen und schauen, ob das Problem auch schon nach dem Update auf 7.0.3 aufgetreten ist.

Als kleiner Zusatz: Mir war heute morgen noch aufgefallen dass "max_input_vars" nicht hoch genug war (habe es jetzt auf die vorrausgesetzten 2000 gestellt). Kann es sein, dass es beim Update dadurch zu problemen hätte kommen können?

LG

DieKleine
Member
Beiträge: 55
Registriert: Mo 7. Nov 2016, 18:29

Re: Fehlende Anzeige in Dokumenten nach Update auf 8.0

Beitragvon DieKleine » Mi 10. Jan 2018, 17:15

Ok, backup wieder aufgespielt - rebuild gemacht und dann wieder rauf auf 7.0.3 und dann wieder rebuild.

Hat prima funktioniert. Ohne Fehler, Meldungen oder sonst etwas. Dieses Mal habe ich Vorlage für Vorlage und Dokument für Dokument geprüft.

Danach habe ich mich erneut an 8.0 gewagt und siehe da: Wieder fehlen die Felder in meinen Dokumenten. Dieses mal habe ich jedoch einige Warnungen und "User notice" bekommen, welche ich jetzt erst mal abarbeiten werde.

LG

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Fehlende Anzeige in Dokumenten nach Update auf 8.0

Beitragvon mokraemer » Do 11. Jan 2018, 11:57

wie ich bereits schrieb:
wir haben die ganzen verbliebenen eval's entfernt. Hierbei handelt es sich um eine pot. unsichere Funktion, weil man da Kode einschleusen kann.
Durch diese Änderung kann sich teilweise der Kontext ändern, sodaß GLOBAL!=lokal ist. Deshalb kann man auf eine Variable die global ist eben nicht einfach per $var zugreifen, sodern muß das $GLOBALS array benutzen.
webEdition-Kern-Entwickler

DieKleine
Member
Beiträge: 55
Registriert: Mo 7. Nov 2016, 18:29

Re: Fehlende Anzeige in Dokumenten nach Update auf 8.0

Beitragvon DieKleine » Do 11. Jan 2018, 15:07

Danke für die Zusatzerklärung.
Ich habe diese Seite, sowie einige andere vor etwa einem Jahr übernommen, seit dem habe ich mich nicht groß mit den Vorlangen beschäftigt, da sie funktioniert haben.

Ich habe hier eine Warungsmeldung die ich nicht komplett verstehe. Kann mir jemand erklären, was mir diese Warnung sagen will?

gzinflate(): data error
#0 error_handler called at [:]
#1 gzinflate called at [webEdition/we/include/we_modules/glossary/we_glossary_cache.class.php:391]
#2 get called at [webEdition/we/include/we_modules/glossary/we_glossary_replace.class.php:65]
#3 doReplace called at [webEdition/we/include/we_modules/glossary/we_glossary_replace.class.php:40]
#4 replace called at [webEdition/we/include/we_global.inc.php:1020]
#5 we_templatePost called at [webEdition/we/templates/content/main.php:174]
#6 include called at [webEdition/we/include/we_showDocument.inc.php:109]
#7 include called at [index.php:21]

LG

DieKleine
Member
Beiträge: 55
Registriert: Mo 7. Nov 2016, 18:29

Re: Fehlende Anzeige in Dokumenten nach Update auf 8.0

Beitragvon DieKleine » Fr 12. Jan 2018, 14:53

PROBLEM GELÖST

Nachdem ich alle Warnungen abgearbeitet habe, wurde mir immer noch keine Eingabefelder in meinen Dokumenten angezeigt...
Schließlich konnte ich es es auf diesen Punkt eingrenzen:

Code: Alles auswählen

<we:input type="checkbox" name="active1" to="global" nameto="colactive[1]" />
<we:input type="checkbox" name="active2" to="global" nameto="colactive[2]" />
<we:input type="checkbox" name="active3" to="global" nameto="colactive[3]" />
<we:input type="checkbox" name="active4" to="global" nameto="colactive[4]" />
Nach ein wenig rumprobieren und Rätzeln habe ich einfach die Arrays in den "nameto" durch normale Bennenungen getauscht und siehe da: Meine Eingabefelder die verschwunden waren, werden jetzt in den Dokumenten wieder angezeigt.
Zum Glück hat das Ändern der inputfelder im Editmode keine Auswirkungen auf die Anzeige im Frontend.
Hier noch meine Abgeänderte Version, für alle die das selbe Problem haben könnten:

Code: Alles auswählen

<we:input type="checkbox" name="active1" to="global" nameto="colactive1" />
<we:input type="checkbox" name="active2" to="global" nameto="colactive2" />
<we:input type="checkbox" name="active3" to="global" nameto="colactive3" />
<we:input type="checkbox" name="active4" to="global" nameto="colactive4" />
LG
Anna


Zurück zu „webEdition Installation & Update“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 19 Gäste