Hallo Zusammen,
weiß jemand, ob und wie man in einer mit den xForm und dem Table Manager erstellten Tabelle einen Datensatz dublizieren / kopieren kann.
Folgendes Problem:
Ich bin am Erstellen einer Wein-Webseite, wo die Weine mit Hilfe des "Table Manager" erfasst und gepflegt werden. Es sind insg. einige dutzend Werte, die erfasst werden. Da einige Weine sehr änhlich sind, wäre einen Kopierfunktion sehr hilfreich. Ich bräuchte dann nur noch die paar unterschiedlichen Werte ändern und würde mir somit unzähliche Klicks sparen.
Weiß jemand ob es so einen Kopier-/Dublizier-Funktion gibt ?
Vielen Dank für Eure Hilfe
Mirco
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/
- brandes-webdesign
- Beiträge: 91
- Registriert: 24. Jan 2008, 15:22
- Wohnort: Trier
- Kontaktdaten: Website
xForm - Table Manager - Datensatz dublizieren / kopieren
Responive Umsetzung Ihrer Layout-/Design-Vorlagen mit dem CMS Redaxo.
Service für Agenturen, Grafiker und Web-Designer oder im Kundenauftrag.
Mirco Brandes (Brandes Webdesign)
Service für Agenturen, Grafiker und Web-Designer oder im Kundenauftrag.
Mirco Brandes (Brandes Webdesign)
Re: xForm - Table Manager - Datensatz dublizieren / kopieren
Hi Mirco,
die Funktion gibt es nicht. Kann man aber leicht nachbauen. Ich würde die Tabelle erweitern, so dass du neben jedem Datensatz einen Duplizieren-Link hast.
Das Prinzip, wie du den Link einfügst, hab ich hier beschrieben: http://www.redaxo.org/de/forum/post105995.html#p105995
die Funktion gibt es nicht. Kann man aber leicht nachbauen. Ich würde die Tabelle erweitern, so dass du neben jedem Datensatz einen Duplizieren-Link hast.
Das Prinzip, wie du den Link einfügst, hab ich hier beschrieben: http://www.redaxo.org/de/forum/post105995.html#p105995
- brandes-webdesign
- Beiträge: 91
- Registriert: 24. Jan 2008, 15:22
- Wohnort: Trier
- Kontaktdaten: Website
Re: xForm - Table Manager - Datensatz dublizieren / kopieren
Hallo xong,
vielen Dank für Deine schnelle Antwort.
Mit dem Link von Dir werde ich dann denke ich weiter kommen.
Mirco
vielen Dank für Deine schnelle Antwort.
Mit dem Link von Dir werde ich dann denke ich weiter kommen.
Mirco
Responive Umsetzung Ihrer Layout-/Design-Vorlagen mit dem CMS Redaxo.
Service für Agenturen, Grafiker und Web-Designer oder im Kundenauftrag.
Mirco Brandes (Brandes Webdesign)
Service für Agenturen, Grafiker und Web-Designer oder im Kundenauftrag.
Mirco Brandes (Brandes Webdesign)
Re: xForm - Table Manager - Datensatz dublizieren / kopieren
Hi,
ich habe das soeben gut gebrauchen können.
Danke XONG für den Ansatz. Hier mein EP zum kopieren von Datensätzen
in einer xForm Tabelle:
Der größte Haken dabei war das hier:
da es den ###id### im getUrl "wahrscheinlich" via Outputfilter zerlegt,
habe ich die ###id### hinten einfach rangehängt.
grz. Chris
ich habe das soeben gut gebrauchen können.
Danke XONG für den Ansatz. Hier mein EP zum kopieren von Datensätzen
in einer xForm Tabelle:
Code: Alles auswählen
function rr_extended_list($_params)
{
global $REX, $I18N;
if(rex_get('func') == 'duplicate' AND ($id = rex_get('data_id', 'int')))
{
$sql = rex_sql::factory();
# $sql->debugsql = TRUE;
$sql->setTable($_params['subject']->params['table_name']);
$sql->setWhere('id='.$id);
$sql->select('*');
if($sql->getRows())
{
$fields = $sql->getFieldNames();
$iSql = new rex_sql;
# $iSql->debugsql = TRUE;
$iSql->setTable($_params['subject']->params['table_name']);
foreach ($fields as $field) {
if ($field != 'id') {
$iSql->setValue($field, mysql_real_escape_string($sql->getValue($field)));
}
}
$iSql->insert();
}
header('Location: '.str_replace('&', '&', $_params['subject']->getUrl()));
exit;
}
$_params['subject']->removeColumn('duplicate');
$_params['subject']->addColumn('duplicate', '', 50, array('<th class="duplicate">###VALUE###</th>','<td>###VALUE###</td>'));
$_params['subject']->setColumnFormat('duplicate' ,'custom', create_function(
'$params',
'$list = $params["list"];
return \'<a href="\'.$list->getUrl(array("func" => "duplicate")).\'&data_id=###id###">kopieren</a>\';'
));
}
rex_register_extension('XFORM_DATA_LIST', 'rr_extended_list');
Code: Alles auswählen
return \'<a href="\'.$list->getUrl(array("func" => "duplicate")).\'&data_id=###id###">kopieren</a>\';'
habe ich die ###id### hinten einfach rangehängt.
Code: Alles auswählen
\'&data_id=###id###">
- Oliver.Kreischer
- Beiträge: 2508
- Registriert: 17. Dez 2004, 00:03
- Wohnort: Velbert - LA
- Kontaktdaten: Website
Re: xForm - Table Manager - Datensatz dublizieren / kopieren
Hey Chris,
guck mal. Vielleicht kannst Du das mal da hin schreiben:
https://github.com/dergel/redaxo4_xform/issues/170
LG
Oliver
guck mal. Vielleicht kannst Du das mal da hin schreiben:
https://github.com/dergel/redaxo4_xform/issues/170
LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!
Re: xForm - Table Manager - Datensatz dublizieren / kopieren
Hi,
für alle die noch eine Status-Funktion (on-/offline) in der
xForm Liste / Tabelle benötigen:
Voraussetzung:
Ihr habt im Tabellen-Manager ein Feld "active" mit drin
>> emptyname >> Name: active
Kopiert Euch den Code z.B. in die config.inc.php des xForm AddOns
grz. Chris
für alle die noch eine Status-Funktion (on-/offline) in der
xForm Liste / Tabelle benötigen:
Voraussetzung:
Ihr habt im Tabellen-Manager ein Feld "active" mit drin
>> emptyname >> Name: active
Kopiert Euch den Code z.B. in die config.inc.php des xForm AddOns
Code: Alles auswählen
#
# Extension zum setzen des status on-/offline
# !!! via xForm table-manager erst ein Feld "emptyname" mit dem Namen "active" setzen !!!
#
function rr_extended_list_STATUS($_params)
{
global $REX, $I18N;
$sql = rex_sql::factory();
$sql->setTable($_params['subject']->params['table_name']);
$sql->select('*');
$fields = $sql->getFieldNames();
$field_active = false;
foreach($fields as $id => $fieldname)
{
if($fieldname == 'active')
{
$field_active = true;
} else {
$field_active = false;
}
}
if($field_active)
{
if(rex_get('func') == 'status' AND ($id = rex_get('data_id', 'int')))
{
$sql = null;
$sql = rex_sql::factory();
$sql->setTable($_params['subject']->params['table_name']);
$sql->setWhere('id='.$id);
$sql->select('*');
if($sql->getRows())
{
$old_status = rex_get('old_status','int','0');
if ($id > 0)
{
$new_status = $old_status == '1' ? '0' : '1';
$uSql = rex_sql::factory();
$uSql->setTable($_params['subject']->params['table_name']);
$uSql->setValue('active', (int) $new_status);
$uSql->setWhere('id='.$id);
$uSql->update();
}
$func = '';
unset($old_status);
}
header('Location: '.str_replace('&', '&', $_params['subject']->getUrl()));
exit;
}
$_params['subject']->removeColumn('status');
$_params['subject']->addColumn('status', '', 50, array('<th class="status">On-/Offline</th>','<td>###VALUE###</td>'));
$_params['subject']->setColumnParams('active', array ('func' => 'status', 'old_status' => '###active###', 'data_id' => '###id###'));
$_params['subject']->setColumnFormat('status' ,'custom',
create_function( '$params',
'$list = $params["list"];
if ($list->getValue("active") == "1") {
$params = array("toggle" => "0");
} else {
$params = array("toggle" => "1");
}
# $return \'<a href="\'.$list->getUrl(array("func" => "status")).\'&data_id=###id###">kopieren</a>\';
$return = $list->getColumnLink("active", $list->getValue("active") != "1" ? "<span style=\'color: #b30000;\'><strong>Offline</strong></span>" : "<span style=\'color: green;\'><strong>Online</strong></span>", $params);
return $return;'));
}
}
rex_register_extension('XFORM_DATA_LIST', 'rr_extended_list_STATUS');
Re: xForm - Table Manager - Datensatz dublizieren / kopieren
Vielen Dank Chris,
genau sowas kann ich gerade gebrauchen
Gruß
Nico
genau sowas kann ich gerade gebrauchen
Gruß
Nico
Re: xForm - Table Manager - Datensatz dublizieren / kopieren
Hi,
falls jemand noch an R4 schraubt und ggf mal eine xForm tabelle / Listen Ausgabe anders sortieren haben möchte, hier ein Ansatz:
grz. Chris
falls jemand noch an R4 schraubt und ggf mal eine xForm tabelle / Listen Ausgabe anders sortieren haben möchte, hier ein Ansatz:
Code: Alles auswählen
function rr_sort_list($_params)
{
if($_params['subject']->params['table_name'] == "rex_releases") {
$_params['subject']->sql->setQuery("SELECT * FROM rex_releases ORDER BY release_date DESC");
}
}
rex_register_extension('XFORM_DATA_LIST', 'rr_sort_list');