Bug in Vorlagen Voreinstellungen

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Bug in Vorlagen Voreinstellungen

Beitrag von josh » Mi 23. Jul 2014, 22:13

Hallo,

es gibt einen reproduzierbaren Bug beim speichern der Voreistellungen in den Vorlagen.
Den Bug gab es schon in der Version 4.9.3. Ich konnte das aber damals nicht reproduzieren.
Jetzt arbeite ich an einem Projekt wo diese Voreinstellungen wichtig sind und ich stoße in der 4.9.3 wieder darauf.

Habe einiges getestet (mit dem Beispelmandanten) und der Bug ist reproduzierbar.
Eigentlich sind es zwei Bugs:

Sorry wegen des schlechten Codes ich habe das nur zum Testen irgendwo rausgezugen.

1. Bug
Ich habe zwei Module mit gleichem Eingabe Teil erstellt:

Code: Alles auswählen

?><?php
//Zoom Funktion mit Highslide JS	: $zoom = true;
//Zoom Funktion deaktivieren		: $zoom = false;
$zoom = true;

echo '<table cellpadding="0" cellspacing="0" border="0">';

echo '<tr valign="top">'; 
echo '<td class="text_medium" style="padding:5px">Funktion waehlen</td>';
echo '<td><select name="CMS_VAR[3]">';

    if (CMS_VALUE[3] == 6) {
        echo '<option value="6" selected="selected">Text HTML</option>';
    } else {
        echo '<option value="6">Text HTML</option>';
    }

	if ($zoom == true) {
		 if (CMS_VALUE[3] == 1) {
			echo '<option value="1" selected="selected">Zoom</option>';
		} else {
			echo '<option value="1">Zoom</option>';
		}
	}
   
echo '</select>';
echo '</td></tr></table>';

?>

<table border="0">

    <tr>
        <td style="width:210px;"><?php echo mi18n("Empfaenger E-Mail");?></td>
        <td><input style="width:250px;" type="text" name="<?php echo "CMS_VAR[4]";?>" value="<?php echo "CMS_VALUE[4]"; ?>"></td>
    </tr>
</table>

<?php 
Die Module test1 und test2 habe ich in zwei Vorlagen eingebunden.
Wenn ich die Voreinstellungen einer Vorlage speichere erscheint der gleiche Wert in der andern Vorlage.


2. Bug
Ein Modul habe ich erweitert:

Code: Alles auswählen

?><?php
//Zoom Funktion mit Highslide JS	: $zoom = true;
//Zoom Funktion deaktivieren		: $zoom = false;
$zoom = true;

echo '<table cellpadding="0" cellspacing="0" border="0">';

echo '<tr valign="top">'; 
echo '<td class="text_medium" style="padding:5px">Funktion waehlen</td>';
echo '<td><select name="CMS_VAR[3]">';

    if (CMS_VALUE[3] == 6) {
        echo '<option value="6" selected="selected">Text HTML</option>';
    } else {
        echo '<option value="6">Text HTML</option>';
    }

	if ($zoom == true) {
		 if (CMS_VALUE[3] == 1) {
			echo '<option value="1" selected="selected">Zoom</option>';
		} else {
			echo '<option value="1">Zoom</option>';
		}
	}
   
echo '</select>';
echo '</td></tr></table>';

?>
<table border="0">

    <tr>
        <td style="width:210px;"><?php echo mi18n("Empfaenger E-Mail");?></td>
        <td><input style="width:250px;" type="text" name="<?php echo "CMS_VAR[7]";?>" value="<?php echo "CMS_VALUE[7]"; ?>"></td>
    </tr>
<?php	
Wenn ich nun im ersten Modul unter Voreinstellungen auf speichern klicke wird der Inhalt der zusätzlichen Felder im zweiten Modul gelöscht.

Bei den oben beschriebenen Tests gibt es keine Einräge im Errorlog.

Aber wenn ich das mit einem Artikellistemodul probiere (auch hier sind alle voreinstellungen gelöscht ) bekomme ich diese Einträge im Errorlog:
[23-Jul-2014 23:10:15 Europe/Berlin] PHP Warning: array_multisort(): Argument #2 is expected to be an array or a sort flag in /usr/www/users/asgneu/contenido/includes/include.pretplcfg_edit_form.php(75) : eval()'d code on line 54
[23-Jul-2014 23:10:15 Europe/Berlin] PHP Warning: Missing argument 1 for cHTMLSelectElement::__construct(), called in /usr/www/users/asgneu/contenido/includes/include.pretplcfg_edit_form.php(75) : eval()'d code on line 175 and defined in /usr/www/users/asgneu/contenido/classes/html/class.html.selectelement.php on line 44
Ich habe schon versucht den Fehler zu finden, komme aber nicht klar damit. ich habe eine große Bitte. Könnt ihr mir
bei dem Problem schnell mir einem Patch helfen? Ich muss die Website kurzfristig abliefern.

Viele Grüße

Josh

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von homtata » Mi 23. Jul 2014, 23:22

Ich denke, dass das eher ein Problem in der Schreibweise ist. Normalerweise gehören Anführungszeichen um die CMS-Dinger in de if-Abfragen, also

Code: Alles auswählen

 if ( “CMS_VALUE[1]“ .. ) ...
Check nochmal anhand anderer Module, ob dir da Fehler unterlaufen sind, denn bei mir gibt's diese Probleme über Modulgrenzen hinweg nicht...

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von josh » Do 24. Jul 2014, 08:47

Hallo homtata,
danke für die Antwort

Ich habe das ganze mal so einfach wie möglich gemacht um Fehler auszuschließen.

Eingabe

Code: Alles auswählen

 echo '<input style="width:250px;" type="text" name="'."CMS_VAR[1]".'" value="'."CMS_VALUE[1]".'">';
Ist da ein Fehler drin?

Wenn ich in den Voreinstellungen einer Vorlage einen Text eingebe erscheint er auch in den Voreinstellungen der zweiten Vorlage.

Wenn ich in deiner Artikelliste "Modul aktivieren" auf aktiv setze und speichern sind meine Textfelder (code oben) leer.
Gebe ich in meine Textfelder etwas ein erscheint es in beiden Vorlagen, die Einstellung in der Artikelliste (andere Vorlage) wird gelöscht.

josh

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von homtata » Do 24. Jul 2014, 09:20

Hallo josh,

ich kanns dir auch nicht sicher sagen. Ich vergleiche einfach immer funktionierenden Codeaufbau anderer Module und passe da an.
So finde ich beispielsweise Codefetzen wie diese:

Code: Alles auswählen

<select name="CMS_VAR[0]">
...
<td><input style="width: 400px;" type="text" name="<?php echo "CMS_VAR[3]";?>" value="<?php echo "CMS_VALUE[3]"; ?>"></td>
...
if ( "CMS_VALUE[8]" == "true" )  $popup = " checked";
und die funktionieren bei mir.
Du kannst dir auch mal den Input-Code der ArticleListReloaded anschauen, da bin ich komplett anders vorgegangen, um den Inputbereich zu erstellen. Wenn du DAS gefressen hast, wies funktioniert, hast du recht schnell funktionierenden Inputbereich zusammen, denn dort sind Beispiele für alle möglichen Inputfelder letztlich schon drin.

LG

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von josh » Do 24. Jul 2014, 09:51

Hallo homtata,

ich habe das nochmal mit dem Beispielmandanten probiert

Code: Alles auswählen

?><input style="width: 400px;" type="text" name="<?php echo "CMS_VAR[3]";?>" value="<?php echo "CMS_VALUE[3]"; ?>"><?php
Das gleiche Ergebnis.

Viele Grüße

josh

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von josh » Do 24. Jul 2014, 10:51

Hallo homtata,

Ein ganz einfacher Test mit dem Beispielmandanten contenido 4.9.4

Vorlage google_sitemap kopieren:
In den Voreinstellungen der Vorlage google_sitemap (Kopie) steht immer das gleiche wie In den Voreinstellungen der Vorlage google_sitemap.

Viele Grüße

josh

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von homtata » Do 24. Jul 2014, 10:59

tut mir leid, ich kann das hier und jetzt aus zeitgründen nicht selbst testen - vielleicht kann ein anderer forenteilnehmer einspringen?

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von josh » Do 24. Jul 2014, 11:31

homtata hat geschrieben:tut mir leid, ich kann das hier und jetzt aus zeitgründen nicht selbst testen - vielleicht kann ein anderer forenteilnehmer einspringen?
Das wäre super wenn noch jemand den Bug bestätigen kann, denn so komme ich nicht weiter.


josh

Seelauer
Beiträge: 186
Registriert: So 22. Jan 2006, 21:03
Wohnort: Mal da, mal da
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von Seelauer » Do 24. Jul 2014, 18:44

Hallo josh,
habe soeben eine nagelneue Contenido 4.9.4 mit Beispielsmandanten installiert und den von Dir beschriebenen Bug mit der Vorlage "google_sitemap" reproduziert.
Die Vorlagen überschreiben sich auch bei mir immer wieder gegenseitig.

CONTENIDO Version 4.9.4
Webserver-Version Apache/2.2.22
Installierte PHP-Version 5.3.26
Datenbankserver-Version 5.5.28-log
PHP-Datenbankerweiterung mysqli
Guten Gruß
Seelauer.

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von josh » Do 24. Jul 2014, 18:54

Hallo Seelauer,

danke fürs Testen. Man kann ja nie wissen ob es am eigen System liegt.

Bei der Version 4.9.0 war noch alles OK.
4.9.3 und 4.9.4 haben den Fehler.


Viele Grüße

josh
Zuletzt geändert von josh am Fr 25. Jul 2014, 15:03, insgesamt 1-mal geändert.

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von josh » Fr 25. Jul 2014, 15:01

Hallo,

kann sich das mal jemand anschauen? Ich brauche dringend ein Lösung weil ich einen Termin für das Projekt habe.

Danke

josh

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von malsdgtac » Sa 26. Jul 2014, 17:54

Hallo,

ich habe vorhin, genau diesen Fehler hier beschrieben: http://forum.contenido.org/viewtopic.ph ... 9&e=164339

Ich habe mir gerade die Tabelle _template angeschaut. Dort gibt es die Einträge idlay, idtpl und idtplcfg. Mir ist aufgefallen, dass bei den Vorlagen, die ich kopiert habe, bei "idtplcfg" immer die idtpl des Moduls steht, von dem die Vorlage kopiert wurde. Das habe ich nun mit den idtpl und idtplcfg einer Contenido Version 4.9.0 verglichen - dort ist das nicht so, hier scheint der Fehler zu liegen.

Leider kann ich nicht erkennen wie die idtpl und idtplcfg zusammen hängen.

Wenn du also schnell eine Lösung brauchst kann ich ich dir nur raten, die Vorlagen nicht zu kopieren sondern neu zu erstellen und von Hand zusammen zu bauen.

EDIT: ich habe inzwischen von der 4.9.3 auf die 4.9.4 geupdatet - das nichts gebracht.

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von josh » Mo 28. Jul 2014, 16:54

Hallo smac,
Ich habe mir gerade die Tabelle _template angeschaut. Dort gibt es die Einträge idlay, idtpl und idtplcfg. Mir ist aufgefallen, dass bei den Vorlagen, die ich kopiert habe, bei "idtplcfg" immer die idtpl des Moduls steht, von dem die Vorlage kopiert wurde. Das habe ich nun mit den idtpl und idtplcfg einer Contenido Version 4.9.0 verglichen - dort ist das nicht so, hier scheint der Fehler zu liegen.
Danke dafür, das hilft erstmal weiter. Ich kann das Verhalten bestätigen.
Das Problem scheint in der Datei includes/functions.tpl.php zu liegen.
Wenn du also schnell eine Lösung brauchst kann ich ich dir nur raten, die Vorlagen nicht zu kopieren sondern neu zu erstellen und von Hand zusammen zu bauen.
Ich habe oben 2 Bugs beschrieben. Beide Bugs treten nicht auf wenn die Vorlage neu angelegt wird und die Module neu eingeklickt werden.

josh

josh
Beiträge: 156
Registriert: Do 24. Jun 2004, 09:25
Wohnort: Ahlen
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von josh » Di 9. Sep 2014, 21:01

Hallo 4fb,

Habt ihr das als Bug aufgenommen?

Grüße josh

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Bug in Vorlagen Voreinstellungen

Beitrag von frederic.schneider_4fb » Do 11. Sep 2014, 07:49

Liebe Freunde,

noch einmal zur Klarstellung:
Ihr habt eine bestehende Vorlage kopiert und sobald Ihr etwas an der kopierten Vorlage ändert, findet sich die Änderung auch unmittelbar in der Ursprungsvorlage? Ich kann das Problem nämlich bislang nicht nachstellen und vermute deshalb ein Missverständnis meinerseits.
Frederic Schneider
Entwickler bei der four for business AG

Antworten