Hallo zusammen,
gibt es eine Möglichkeit in der Datenübersicht eigene Funktionen zu platzieren, mittels Extension-Point oder ähnlichem?
Ich würde gerne z.B. neben "editieren", "löschen" einen weiteren Link platzieren "kopieren/duplizieren".
In einigen Projekten gäbe es da noch weitere Fälle, wie "Export erzeugen" oder "E-Mail senden".
Kennt jemand eine Möglichkeit, wie ich da eingreifen könnte und trotzdem updatefähig bleiben kann?
Freue mich über Eure Anregungen.
VG
Pascal
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/
-
- Beiträge: 52
- Registriert: 15. Nov 2011, 17:02
[gelöst]: yForm - Erweiterung der Funktionen
Zuletzt geändert von site-concept am 3. Nov 2016, 12:16, insgesamt 1-mal geändert.
Re: yForm - Erweiterung der Funktionen
Hi...
in R5 gibt es ein Addon (nicht im backend ersichtlich) /projects/...
in diesem Addon kannst du im /lib/ Verzeichnis eigene class reinhängen. Diese werden automatisch geladen (autoloader / der kann nur classen autom. laden). Ebenso empfiehlt es sich hier deine Erweiterungen/Funktionen etc reinzuschreiben und R5 via boot.php bekannt zu machen (include/reqire... etc...).'
Soweit mir bekannt ist das /projects/ "sicher" vor einem update
grz. Chris
in R5 gibt es ein Addon (nicht im backend ersichtlich) /projects/...
in diesem Addon kannst du im /lib/ Verzeichnis eigene class reinhängen. Diese werden automatisch geladen (autoloader / der kann nur classen autom. laden). Ebenso empfiehlt es sich hier deine Erweiterungen/Funktionen etc reinzuschreiben und R5 via boot.php bekannt zu machen (include/reqire... etc...).'
Soweit mir bekannt ist das /projects/ "sicher" vor einem update
grz. Chris
-
- Beiträge: 52
- Registriert: 15. Nov 2011, 17:02
Re: yForm - Erweiterung der Funktionen
Hi Chris,
danke für deinen Beitrag. Das war mir noch nicht bekannt.
Ich nutze bisher ein eigenes Addon um weitere Classen und Funktionen zu laden.
Es ging mir aber mehr darum den Einstieg in yForm zu finden, um dort die Ansichten etwas zu erweitern.
Ich habe mir den Quelltext noch einmal im Detail angesehen und konnte jetzt über zwei ExtensionPoints die Kopier/Duplizierungsfunktion realisieren.
Die Lösung könnte man in "project" hinterlegen, wie von dir vorgeschlagen oder in einem eigenen Addon.
Viele Grüße
Pascal
danke für deinen Beitrag. Das war mir noch nicht bekannt.
Ich nutze bisher ein eigenes Addon um weitere Classen und Funktionen zu laden.
Es ging mir aber mehr darum den Einstieg in yForm zu finden, um dort die Ansichten etwas zu erweitern.
Ich habe mir den Quelltext noch einmal im Detail angesehen und konnte jetzt über zwei ExtensionPoints die Kopier/Duplizierungsfunktion realisieren.
Die Lösung könnte man in "project" hinterlegen, wie von dir vorgeschlagen oder in einem eigenen Addon.
Code: Alles auswählen
class SC_yFormExtension {
public static function extendTableOverview($objExtensionPoint) {
self::addButton_Duplicate($objExtensionPoint);
}
public static function extendFunctions($objExtensionPoint) {
self::addFunction_Duplicate($objExtensionPoint);
}
private static function addButton_Duplicate($objExtensionPoint) {
$objList = $objExtensionPoint->getSubject();
$strLinkText = 'duplizieren';
$objList->addColumn($strLinkText, '<i class="fa fa-clone"></i> ' . $strLinkText);
$objList->setColumnLayout($strLinkText, ['', '<td class="rex-table-action">###VALUE###</td>']);
$objList->setColumnParams($strLinkText, array('data_id' => '###id###', 'func' => 'duplicate', 'start' => rex_request('start', 'string'), 'sort' => rex_request('sort', 'string'), 'sorttype' => rex_request('sorttype', 'string'), 'list' => rex_request('list', 'string')));
return $objList;
}
private static function addFunction_Duplicate($objExtensionPoint) {
$objSubject = $objExtensionPoint->getSubject();
$func = rex_request('func', 'string', '');
$table_name = rex_request('table_name', 'string', '');
$data_id = rex_request('data_id', 'int', '');
if ($func == 'duplicate' && $data_id) {
$sf = rex_sql::factory();
$sf->setDebug(false);
$strSqlQuery = "CREATE TEMPORARY TABLE tmp SELECT * FROM ".$table_name." WHERE id=".$data_id;
$sf->setQuery($strSqlQuery);
$strSqlQuery = "UPDATE tmp SET id=NULL";
$sf->setQuery($strSqlQuery);
$strSqlQuery = "INSERT INTO ".$table_name." SELECT * FROM tmp";
$sf->setQuery($strSqlQuery);
$func = 'list';
}
return $objSubject;
}
}
rex_extension::register('YFORM_DATA_LIST', 'SC_yFormExtension::extendTableOverview');
rex_extension::register('YFORM_MANAGER_DATA_PAGE', 'SC_yFormExtension::extendFunctions');
Pascal