Hallo suche eine Möglichkeit eine Kategorie in der Moduleingabe auszuwählen. Benötige die als Value die ID der ausgewählten Kategorie.
Gibt es da nen REX_ Platzhalter für?
Oder wie wird das gemacht.
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
So geht's…
grad getestet.
Eingabe
Ausgabe:
Die Ausgabe spuckt dann nur die ID aus. Vielleicht reicht das ja schon.
Grüße
Andreas
Eingabe
Code: Alles auswählen
<?php
function PrintCategorieOptions($cat = null) {
$selectCats = null;
if ( is_int( $cat)) {
$selectCats = array( OOCategory::getCategoryById( $cat));
} else {
$selectCats = OOCategory::getRootCategories();
}
foreach ( $selectCats as $selectCat) {
add_cat_option( $selectCat);
}
}
function add_cat_option( &$cat, $groupName = '') {
if( empty( $cat)) {
return;
}
print_link($cat->getName(), $cat->getId(), $groupName);
if ( $cat->getChildren()) {
$childs = $cat->getChildren();
foreach ( $childs as $child) {
if ($child->getChildren()) {
add_cat_option( $child, $groupName." ");
} else {
add_cat_option( $child, $groupName." ");
}
}
}
}
function print_link($catName, $catId, $groupName) {
global $selectedCat;
if ( "REX_VALUE[1]" == $catId) {
// selected
echo "<option value=\"" . $catId . "\" selected>" . $groupName.$catName . "</option>\n";
} else {
echo "<option value=\"" . $catId . "\">" . $groupName.$catName . "</option>\n";
}
}
?>
<table><tr>
<td>Kategorie:</td>
<td><select name="VALUE[1]">
<?php PrintCategorieOptions(); ?>
</select></td>
</tr>
</table>
Code: Alles auswählen
<?php
$catId = 'REX_VALUE[1]';
print $catId;
?>
Grüße
Andreas
- timo.huber
- Beiträge: 305
- Registriert: 22. Dez 2009, 13:26
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Hallo,
es gibt eine Klasse rex_category_select. Damit sieht es so aus (ungetestet):
Man kann rex_category_select() noch Parameter mitgeben, der Funktionskopf sieht so aus:
Gruß, Gregor
es gibt eine Klasse rex_category_select. Damit sieht es so aus (ungetestet):
Code: Alles auswählen
<?php
$select = new rex_category_select();
$select->setName("VALUE[1]");
$select->setSelected("REX_VALUE[1]");
$select->setSize(1);
echo 'Kategorie: '. $select->get();
?>
Code: Alles auswählen
function rex_category_select($ignore_offlines = false, $clang = false, $check_perms = true, $add_homepage = true)
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!