für folgende Modul-Eingabe möchte ich eine Aktion erstellen, wenn bei Kategorieauswahl "Keine Kategorie" ausgewählt dann soll eine Fehlermeldung ausgegeben werden, leider funktionieren die Aktionen nicht die ich erstellt habe.
Modul Eingabe:
Code: Alles auswählen
<br />
Kategorie:
<br /><br />
<select name="VALUE[1]" class="inp100">
<?php
function getSubCats($catId, $levelMarker)
{
$subCat = OOMediaCategory::getCategoryById($catId);
$selected = '';
if('REX_VALUE[1]' == $subCat->getId())
{
$selected = ' selected="selected"';
}
$catSelect .= '<option value='.$subCat->getId().' '.$selected.'>'.$levelMarker.$subCat->getName().'</option>';
if($subCat->countChildren()>0)
{
$levelMarker.= $levelMarker;
foreach($subCat->getChildren() as $subCatChild)
{
$catSelect .= getSubCats($subCatChild->getId(), $levelMarker);
}
}
return $catSelect;
}
// Zeichen zur Kennzeichnung der Level in der Auswahlliste festlegen
// Vorgabe sind zwei feste Leerzeichen wie auch in der Auswahl des Redaxo-Medienpools,
// könnten aber beliebige andere Zeichen sein (z.B. $levelMarker = '--')
$levelMarker = ' ';
// Vorbereitung der Auswahlliste mit den Redaxo-OOF
$mediaCats = OOMediaCategory::getRootCategories();
$mediaCatSelect = '<option value=0 selected="selected">Keine Kategorie</option>';
// Auswahlliste aufbauen, beginnend mit den Rootkategorien des Medienpools
foreach ($mediaCats as $mediaCat)
{
$selected = '';
if("REX_VALUE[1]" == $mediaCat->getId())
{
$selected = ' selected="selected"';
}
$mediaCatSelect .= '<option value='.$mediaCat->getId().' '.$selected.'>'.$mediaCat->getName().'</option>';
// Sollten Unterkategorien vorhanden sein, werden diese durch
// die Funktion getSubCats in die Auswahlliste eingebaut
if($mediaCat->countChildren()>'0')
{
foreach($mediaCat->getChildren() as $mediaCatChild)
{
$mediaCatSelect .= getSubCats($mediaCatChild->getId(),$levelMarker);
}
}
}
print $mediaCatSelect;
?>
</select>
Code: Alles auswählen
<?php
if ($REX_ACTION['VALUE'][1] == "") {
$REX_ACTION['SAVE'] = false;
$REX_ACTION['MSG'] = "Bitte wählen Sie eine Kategorie!";
}
?>
Code: Alles auswählen
<?php
if ($REX_ACTION['VALUE'][1] == "Keine Kategorie") {
$REX_ACTION['SAVE'] = false;
$REX_ACTION['MSG'] = "Bitte wählen Sie eine Kategorie!";
}
?>
Gruß, melody