Ein Suchagent für REDAXO 5+
Watson spart Zeit bei der Suche nach Artikeln, Modulen, Templates, Benutzer, Dateien und YForm Daten und … im REDAXO Backend.
Eine ausführlichere Beschreibung und die Benutzung findet man auf tbaddade.github.io/redaxo_watson/
- REDAXO 5.4
Im REDAXO via Backend ...
- über den Installer die letzte Version vom Watson herunterladen
- AddOn installieren und aktivieren
- öffnen
- ctrl + space
(um im Firefox das Contextmenü zu vermeiden, "ctrl + alt + space" drücken) - ctrl + alt + space
- ctrl + cmd + space
- ctrl + space
- schließen
- ESC
- ctrl + space
- ctrl + alt + space
- ctrl + cmd + space
- öffnen
- Cursortaste rechts
- schließen
- Cursortaste links
- Cursortaste oben
- Cursortaste unten
Werden Keywords verwendet, wird die Suche entsprechend eingegrenzt.
Keyword | Suche in | wird ohne Keyword durchsucht |
---|---|---|
a | Artikel | ja |
m, f | Medien | ja |
m | Module | ja |
sp | Sprog | ja |
t | Templates | ja |
yf | YForm | ja |
Spezielle Suchen
Keyword | Suche in | Beispiel | Aktion nach Enter auf Ergebnis |
---|---|---|---|
m:inuse [Module ID] | Artikel nach verwendeten Module | m:inuse 15 |
Artikel wird aufgerufen |
sp:miss | Sucht nach nicht angelegten Platzhalter innerhalb der Struktur | sp:miss |
Platzhalter wird angelegt |
Keyword | Optionen | Beschreibung | Beispiel |
---|---|---|---|
c:make | status=[online(default)/offine] | Erstellt Kategorien | c:make Home Kontakt "Über uns" |
c:make Home Kontakt "Über uns" --status="offline" |
|||
m:make [Modulname] | fields | Erstellt Module | siehe Modulbeispiele |
sp:make [Platzhalter] | fields | Erstellt Platzhalter | sp:make Platzhalter |
Modulbeispiel: Überschrift
Watsoneingabe
m:make Überschrift --fields="Überschrift:text"
erstellt folgende Moduleingabe
<div class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label">Überschrift</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="REX_INPUT_VALUE[1]" value="REX_VALUE[1]" />
</div>
</div>
</div>
erstellt folgende Modulausgabe
<?php
$ueberschrift = '';
if(REX_VALUE[id="1" isset="1"]) {
$ueberschrift = REX_VALUE[id="1"];
}
echo $ueberschrift;
?>
Modulbeispiel: Komplex
Watsoneingabe
m:make Komplex --fields="Überschrift:text, Intro:textarea(['class'=>'redactor']), Text:textarea:textile, Bild:media, Bilder:medialist, Auswahl:select( [1 => 'ja', 0 => 'nein'] ), Status:checkbox()"
erstellt folgende Moduleingabe
<div class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label">Überschrift</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="REX_INPUT_VALUE[1]" value="REX_VALUE[1]" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Intro</label>
<div class="col-sm-10">
<textarea class="form-control redactor" rows="10" name="REX_INPUT_VALUE[2]">REX_VALUE[2]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Text</label>
<div class="col-sm-10">
<textarea class="form-control" rows="10" name="REX_INPUT_VALUE[3]">REX_VALUE[3]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Bild</label>
<div class="col-sm-10">
REX_MEDIA[id="1" widget="1"]
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Bilder</label>
<div class="col-sm-10">
REX_MEDIALIST[id="1" widget="1"]
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Auswahl</label>
<div class="col-sm-10">
<?php
$select = new rex_select();
$select->setName('REX_INPUT_VALUE[4]');
$select->setAttribute('class', 'form-control');
$select->setAttributes([]);
$select->addOptions([1 => 'ja', 0 => 'nein']);
$select->setSelected('REX_VALUE[4]');
echo $select->get();
?>
</div>
</div>
</div>
erstellt folgende Modulausgabe
<?php
$ueberschrift = '';
if(REX_VALUE[id="1" isset="1"]) {
$ueberschrift = REX_VALUE[id="1"];
}
echo $ueberschrift;
$intro = '';
if (rex_addon::get('textile')->isAvailable()) {
if(REX_VALUE[id="2" isset="1"]) {
$textile = REX_VALUE[id="2"];
$textile = str_replace('<br />', '', $textile);
$intro = rex_textile::parse($textile);
}
}
echo $intro;
$text = '';
if (rex_addon::get('textile')->isAvailable()) {
if(REX_VALUE[id="3" isset="1"]) {
$textile = REX_VALUE[id="3"];
$textile = str_replace('<br />', '', $textile);
$text = rex_textile::parse($textile);
}
}
echo $text;
$bild = '';
if (REX_MEDIA[id="1" isset="1"]) {
$media = rex_media::get(REX_MEDIA[id="1"]);
$bild .= $media->toImage();
}
echo $bild;
$bilder = '';
if (REX_MEDIALIST[id="1" isset="1"]) {
$mediaList = explode(',', REX_MEDIALIST[id="1"]);
foreach ($mediaList as $mediaName) {
$media = rex_media::get($mediaName);
$bilder .= $media->toImage();
}
}
echo $bilder;
$auswahl = '';
if(REX_VALUE[id="4" isset="1"]) {
$auswahl = REX_VALUE[id="4"];
}
echo $auswahl;
?>
Du hast einen Fehler gefunden oder ein nettes Feature parat? Lege ein Issue an. Bevor du ein neues Issue erstellts, suche bitte ob bereits eines mit deinem Anliegen existiert und lese die Issue Guidelines (englisch) von Nicolas Gallagher.
siehe CHANGELOG.md
siehe LICENSE.md
Thomas Blum