Hilfe - Suche - Mitglieder - Kalender
Vollansicht: mip forms - wichtige info checkbox -> hidden
Forum Sefrengo.org > Allgemeine Foren > Entwicklung
amk
was mir aufgefallen ist - es ist nicht so recht ein interner fehler, aber ein umstand der vor allem bei der portierung alter dedi-module vorkommen kann.

in einigen modulen wird der normale/erweiterte-konfigurationsmodus damit realisiert bestimmte mod-variablen zu verstecken in dem man die mip-form-deklaration von "cat" (bspw. $mip_form['78']['cat'] = 'chk';) mit dem wert "hidden" überschreibt.

dies funktioniert grundsätzlich problemlos - NUR bei folgender (üblicher) mip-forms-definition von checkbox

QUELLTEXT
//Mehrfachauswahl
$mip_form['78']['desc'] = 'Mehrfachauswahl aktivieren';
$mip_form['78']['cat'] = 'chk';
$mip_form['78']['option_var']['0'] = 'MOD_VAR[78]';
$mip_form['78']['option_val']['0'] = $cms_mod['value']['78'];
$mip_form['78']['option_desc']['0'] = 'ja';
$mip_form['78']['option_val_select']['0'] = 'true';


produziert $mip_form['78']['cat'] = 'hidden'; ein leeres hidden-feld im output der modul-konfiguration und löscht somit die modul-variable.

dieses verhalten kann grundsätzlich umgangen werden in dem man zusätzlich zu ['cat'] = 'hidden' die modul-variable und den entsprechenden wert neu zuweist.

$mip_form['78']['cat'] = 'hidden';
$mip_form['78']['cms_var'] = 'MOD_VAR[78]';
$mip_form['78']['cms_val'] = $cms_mod['value']['78'];


in einigen modulen wird der normale/erweiterte-modus mit einer schleife zum überschreiben der "cat" produziert.

QUELLTEXT
//if simple mode
if($cms_mod['value']['0'] == ''){
foreach ($mip_form['hide_in_standard_mode']  AS $ke=>$va){

   $mip_form[$va]['cat'] = 'hidden';
  
}
}


dies erzeugt das erwähntes löschen aller checkbox-werte

durch einfaches hinzufügen 2er zeilen kann dieses problem umgangen werden:

QUELLTEXT
//if simple mode
if($cms_mod['value']['0'] == ''){
foreach ($mip_form['hide_in_standard_mode']  AS $ke=>$va){

   $mip_form[$va]['cat'] = 'hidden';
   $mip_form[$va]['cms_var'] = 'MOD_VAR[' . $va . ']';
   $mip_form[$va]['cms_val'] = $cms_mod['value'][$va];            
  
}
}
amk
von der problematik betroffen waren bspw. ContentFlex (nur sehr sekundär da nur eine einzige checkbox in der konfig) und MrList

aktuelle modulversionen (unter alpha/beta/vorab) beheben das problem nun ...
mistral
eine andere Variante das Problem zu umgehen ist die folgenden:

CODE
// Default Position für das Edit Template
$mip_form['60']['desc'] = 'Mehrfachauswahl aktivieren';
$mip_form['60']['cat'] = 'option';
$mip_form['60']['cms_var'] = 'MOD_VAR[60]';
$mip_form['60']['cms_val'] = $cms_mod['value']['60'];
$mip_form['60']['cms_val_default'] = '';
$mip_form['60']['option_desc']['0'] = 'Ja';
$mip_form['60']['option_val']['0'] = 'true';
$mip_form['60']['option_desc']['1'] = 'Nein';
$mip_form['60']['option_val']['1'] = '';
$mip_form['60']['tab'] = '0';


Gruss
Mistral
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.