Seite 1 von 1
$edit nicht gesetzt
Verfasst: Mi 2. Feb 2005, 08:37
von kummer
hallo zusammen
ich bin verschiedentlich darauf aufmerksam gemacht worden, dass in einigen installationen im editierbereich in den modulen $edit nicht gesetzt sei. das führt dann bei einigen modulen natürlich zu problemen.
nun zu meiner frage: handelt es sich dabei eventuell um einen bug? ist die variable $edit in der 4.4.5 generell nicht mehr verfügbar oder handelt es sich um ein installationsproblem?
bei dieser gelegenheit (wenn das erlaubt ist) eine anmerkung für die entwicklung in zukunft. aus meiner sicht wäre es besser, wenn 'variablen' deren wert sich während der ausführung des scriptes nicht ändern sollten, nicht als variablen sondern als konstanten definiert würden. dann bestünde nicht die gefahr, dass sie durch ein modul überschrieben werden.
mfg,
andreas
Verfasst: Mi 2. Feb 2005, 08:56
von emergence
ich hab das ganze mal als bug gemeldet, der im cvs_head auch schon behoben ist...
in die 4.4.x serie ist dieser aber nie hineingekommen....
das läßt sich an sich ganz einfach beheben...
includes/include.con_editcontent.php
findet sich am ende der datei in einer foreach schleife
diese zeile muss nur am beginn dieser datei gestellt werden...
ansonsten ist es so das $edit erst dann true ist wenn ein content-typ
gefunden wurde... was natürlich schlecht ist wenn man keinen verwendet...
Verfasst: Mi 2. Feb 2005, 09:13
von kummer
siehst du denn eine möglichkeit fest zu stellen, dass man sich im editiermodus im backend befindet?
zurzeit verwende ich folgende, etwas umständliche prüfung:
Code: Alles auswählen
if (($contenido && empty($this->get['contenido']) && $changeview =='edit') || ($contenido && !empty($this->get['contenido']) && $this->get['contenido'] == $contenido && $changeview == 'edit')) {
Verfasst: Mi 2. Feb 2005, 09:29
von emergence
mit obriger änderung ist an sich nur eine überprüfung der variable $edit notwendig...
da hat man nun zeitweise aber das problem das &edit=1 ja bei der urlzeile ergänzt werden könnte... dann würde man die buttons für das bearbeiten sehen, was nicht so schön ist...
das läßt sich aber ziemlich elegant abfangen sodas wirklich nur
funktioniert ohne beieinflussung eines get oder post wertes...
man braucht nur in der front_content.php
nach
Code: Alles auswählen
/* Mark submenuitem 'Preview' */
if ($contenido) {
$markscript = markSubMenuItem(4, true);
}
diese zeile ergänzen...
okay etwas abgeschweift... ich tippe mal darauf das du diese änderung bei kunden zeitweise nicht vornehmen kannst und dennoch wissen willst ob du dich im edit modus befindest...
ja da gibts ne möglichkeit...
diese variable besser gesagt der array steht nur im edit modus zur verfügung...
wie auch immer es gibt keinerlei möglichkeit festzustellen ob du dich im vorschaumodus (vom backend aus)befindest... zumindestens wüsste ich keine möglichkeit...
ich verwende ne ähnliche konstruktion für einer meiner kommerziellen module... und da ist mir an sich noch nichts aufgefallen was bei 4.4.x - CVS_HEAD nicht laufen würde...
Verfasst: Fr 20. Mai 2005, 14:35
von timo
muß ich da noch etwas in die 4.5er-Serie einbauen?
Verfasst: Fr 20. Mai 2005, 15:23
von emergence
ähm nur das wenn du willst
in der front_content.php
nach
Code: Alles auswählen
/* Mark submenuitem 'Preview' */
if ($contenido) {
$markscript = markSubMenuItem(4, true);
}
diese zeile ergänzen...
warum und weshalb -> siehe obriges posting
Verfasst: Mo 23. Mai 2005, 11:56
von timo
ok hab ich eingebaut
könnte man daher schließen, oder?
Verfasst: Mo 23. Mai 2005, 11:58
von emergence
yep!