Artikel kopieren in 4.4.4 integrieren?
Artikel kopieren in 4.4.4 integrieren?
Hi,
ich weiß, dass dieses Thema schon oft angesprochen wurde und in der 4.5.2 enthalten ist. Allerdings brauche ich dringenst eine solche Funktion für die 4.4.x also für eine stabile Version.
Es wäre ja nicht so ratsam, wenn ich für einen Kunden die 4.5.2 verwende, ohne das diese halbwegs fehlerfrei funktioniert.
Ist es möglich, NUR die Kopierfunktion ins 4.4.4 zu integrieren? Weitere Funktionalitäten brauche ich nicht.
Weiß wirklich sonst nicht weiter, kann den Benutzern ja nicht zumuten, bei einem neuen Artikel jedesmal die 10-15 Container zu füllen, wenn sich doch nur zwei ändern.
Danke schonmal im Voraus
Alex
ich weiß, dass dieses Thema schon oft angesprochen wurde und in der 4.5.2 enthalten ist. Allerdings brauche ich dringenst eine solche Funktion für die 4.4.x also für eine stabile Version.
Es wäre ja nicht so ratsam, wenn ich für einen Kunden die 4.5.2 verwende, ohne das diese halbwegs fehlerfrei funktioniert.
Ist es möglich, NUR die Kopierfunktion ins 4.4.4 zu integrieren? Weitere Funktionalitäten brauche ich nicht.
Weiß wirklich sonst nicht weiter, kann den Benutzern ja nicht zumuten, bei einem neuen Artikel jedesmal die 10-15 Container zu füllen, wenn sich doch nur zwei ändern.
Danke schonmal im Voraus
Alex
Re: Artikel kopieren in 4.4.4 integrieren?
ähm kurz und knapp gesagt, ja sollte gehen...alexd hat geschrieben:Ist es möglich, NUR die Kopierfunktion ins 4.4.4 zu integrieren?
anpassungen müssten in der
functions.con.php
base.sql (da eine neue action definiert wurde. wäre dann nur mittels upgrade oder direkten hack der db tabelle machbar...)
cfg_language_de.inc.php (für den namen des rechts)
include.con_art_overview.php
und das entsprechende icon in images für das kopieren nicht vergessen...
ist aber etwas aufwand das alles einzubauen und wirklich auszutesten bis alles läuft...
*** make your own tools (wishlist :: thx)
yep entweder das mit upgrade oder direkt in der db den wert ergänzen
*** make your own tools (wishlist :: thx)
Geschafft
Die Kopierfunktion wurde erfolgreich integriert, war doch wesentlich einfacher, da die nötigen functions in der 4.4.5 schon enthalten sind, nur nicht genutzt werden.
Vielen Dank an emergence!
Wenn jemand Interesse haben sollte, poste ich das Vorgehen mal komplett.
Vielleicht können dadurch sogar noch evtl. Bugs gefunden werden.
Alex
Vielen Dank an emergence!
Wenn jemand Interesse haben sollte, poste ich das Vorgehen mal komplett.
Vielleicht können dadurch sogar noch evtl. Bugs gefunden werden.
Alex
Re: Geschafft
Ich hätte Interesse an der Kopierfunktion.alexd hat geschrieben:
Wenn jemand Interesse haben sollte, poste ich das Vorgehen mal komplett.
Vielleicht können dadurch sogar noch evtl. Bugs gefunden werden.
Alex
Kannst Du mir das mal zukommenlassen?
Wiebke
-> cfg_language_de.inc.php (für den namen des rechts)
sollte in etwa so aussehen..
sollte in etwa so aussehen..
Code: Alles auswählen
$lngAct["con"]["con_duplicate"] = i18n("Duplicate article");
*** make your own tools (wishlist :: thx)
Hiho,
ich arbeite auch seit einiger Zeit mit Contenido und bin soweit zufrieden ..
wenn ich das mit dem Artikelkopieren in 4.4.4 einbauen kann, wäre das toll
Habe allerdings nicht so die Ahnung wo ich was ändern muss um die Artikel
zu kopieren , im Backend müsste sich ja etwas ändern....
wäre sehr nett dieses Vorgehen mir und anderen etwas genauer zu beleuchten .....
bedanke mich schon mal im Voraus ....
grüsse
GPLRACER
ich arbeite auch seit einiger Zeit mit Contenido und bin soweit zufrieden ..
wenn ich das mit dem Artikelkopieren in 4.4.4 einbauen kann, wäre das toll
Habe allerdings nicht so die Ahnung wo ich was ändern muss um die Artikel
zu kopieren , im Backend müsste sich ja etwas ändern....
wäre sehr nett dieses Vorgehen mir und anderen etwas genauer zu beleuchten .....
bedanke mich schon mal im Voraus ....
grüsse
GPLRACER
Anleitung Artikel kopieren Version 4.4.4
Hallo,
die Artikelkopierfunktion funktioniert auch in der 4.4.4 Version, allerdings sind zahlreiche Eingriffe ins Contenido System notwendig.
Also, zuerst mal eine Sicherheitskopie der Dateien und der Datenbank anlegen. Dann folgendermaßen vorgehen, oder aber die angepassten Daten (weiter unten) direkt austauschen.
1.)
In der DB (con_actions) folgende neue Zeile einfügen einfügen:
idaction , idarea , alt_name , name , code , location , relevant
382 , 1 , , con_duplicate , , , 1
Hinweis:
idaction darf noch nicht vergeben sein, einfach die letzte um eins erhöhen. Es wird die neue Action con-duplicate definiert
2.)
templates/standard/template.con_art_overview.html
(ca. Zeile 74)
Ersetze:
<td class="textw_medium" colspan="6" ….
Durch:
<td class="textw_medium" colspan="7" ….
(ca. Zeile 88)
nach:
… border-style: solid">{DELETE}</td>
Einfügen:
<td style="border:1px; border-left:0px; border-top:0px; border-right:0px;border-color: #747488; border-style:solid">{DUPLICATE}</td>
Hinweis:
es entsteht im Backend ein neues Sysmbol für Kopieren, das entsprechende Icon ist auch bereits enthalten, images/but_copy.gif
3.)
Includes/include.con_art_overview.php
(ca. Zeile 19)
Nach:
$debug = false;
Einfügen:
if ($action == "con_duplicate")
{
$newidartlang = conCopyArticle($duplicate);
}
(ca. Zeile 319)
Nach:
$tpl->set('d', 'TPLCONF', $tmp_link);
Einfügen:
# Make copy button
if ( ($perm->have_perm_area_action("con","con_duplicate") || $perm->have_perm_area_action_item("con","con_duplicate",$idcat)) && $idcat != 0) {
$imgsrc = "but_copy.gif";
$tmp_copy = '<a href="'.$sess->url("main.php?area=con&idcat=$idcat&action=con_duplicate&duplicate=$idart&frame=4").'" title="'.i18n("Duplicate article").'"><img src="images/'.$imgsrc.'" border="0" title="'.i18n("Duplicate article").'" alt="'.i18n("Duplicate article").'"></a>';}
else {
$tmp_copy = " ";
}
$tpl->set('d', 'DUPLICATE', $tmp_copy);
Hinweis: Dem Button wird ein Link zugeordnet
4.) locale/de_DE/LC_MASSAGES/contenido.po
(ca. Zeile 12)
Nach: "Content-Transfer-Encoding: 8bit\n"
Einfügen:
msgid "Copy of %s"
msgstr "Kopie von %s"
msgid "Duplicate article"
msgstr "Artikel duplizieren"
Hinweis: Es werden die richtigen Bezeichner im Contenido-Backend angezeigt.
5.)
includes/functions.con.php (ab ca. 1020, nach der Funktion getArtLang) alle functions, welche mit dem Namen conCopy beginnen, durch die 4.4.5 Versionen ersetzen. Erst dann hat das Artikelkopieren funktioniert.
6.)
includes/cfg_language_de.inc.php
nach:
$lngAct["con"]["con_makeonline"] = i18n("Make article online");
füge ein:
$lngAct["con"]["con_duplicate"] = i18n("Duplicate article");
Hinweis: Kopieren wird bei den Benutzerrechten angezeigt.
Da ich nicht mehr 100% sicher bin, ob dass alles war, sind die betroffenen Dateien auch zu haben. Die Kopierfunktion funktioniert zwar, allerdings habe ich verschiedene Sprachen usw. nicht getestet, da ich dies nicht verwende. Mein Contenido funktioniert jedenfalls bestens.
Hier der Link:
http://www.ecopact.de/banner/copy.zip
Ich hoffe, ich habe nichts vergessen.
Viel Spaß damit
Alex
die Artikelkopierfunktion funktioniert auch in der 4.4.4 Version, allerdings sind zahlreiche Eingriffe ins Contenido System notwendig.
Also, zuerst mal eine Sicherheitskopie der Dateien und der Datenbank anlegen. Dann folgendermaßen vorgehen, oder aber die angepassten Daten (weiter unten) direkt austauschen.
1.)
In der DB (con_actions) folgende neue Zeile einfügen einfügen:
idaction , idarea , alt_name , name , code , location , relevant
382 , 1 , , con_duplicate , , , 1
Hinweis:
idaction darf noch nicht vergeben sein, einfach die letzte um eins erhöhen. Es wird die neue Action con-duplicate definiert
2.)
templates/standard/template.con_art_overview.html
(ca. Zeile 74)
Ersetze:
<td class="textw_medium" colspan="6" ….
Durch:
<td class="textw_medium" colspan="7" ….
(ca. Zeile 88)
nach:
… border-style: solid">{DELETE}</td>
Einfügen:
<td style="border:1px; border-left:0px; border-top:0px; border-right:0px;border-color: #747488; border-style:solid">{DUPLICATE}</td>
Hinweis:
es entsteht im Backend ein neues Sysmbol für Kopieren, das entsprechende Icon ist auch bereits enthalten, images/but_copy.gif
3.)
Includes/include.con_art_overview.php
(ca. Zeile 19)
Nach:
$debug = false;
Einfügen:
if ($action == "con_duplicate")
{
$newidartlang = conCopyArticle($duplicate);
}
(ca. Zeile 319)
Nach:
$tpl->set('d', 'TPLCONF', $tmp_link);
Einfügen:
# Make copy button
if ( ($perm->have_perm_area_action("con","con_duplicate") || $perm->have_perm_area_action_item("con","con_duplicate",$idcat)) && $idcat != 0) {
$imgsrc = "but_copy.gif";
$tmp_copy = '<a href="'.$sess->url("main.php?area=con&idcat=$idcat&action=con_duplicate&duplicate=$idart&frame=4").'" title="'.i18n("Duplicate article").'"><img src="images/'.$imgsrc.'" border="0" title="'.i18n("Duplicate article").'" alt="'.i18n("Duplicate article").'"></a>';}
else {
$tmp_copy = " ";
}
$tpl->set('d', 'DUPLICATE', $tmp_copy);
Hinweis: Dem Button wird ein Link zugeordnet
4.) locale/de_DE/LC_MASSAGES/contenido.po
(ca. Zeile 12)
Nach: "Content-Transfer-Encoding: 8bit\n"
Einfügen:
msgid "Copy of %s"
msgstr "Kopie von %s"
msgid "Duplicate article"
msgstr "Artikel duplizieren"
Hinweis: Es werden die richtigen Bezeichner im Contenido-Backend angezeigt.
5.)
includes/functions.con.php (ab ca. 1020, nach der Funktion getArtLang) alle functions, welche mit dem Namen conCopy beginnen, durch die 4.4.5 Versionen ersetzen. Erst dann hat das Artikelkopieren funktioniert.
6.)
includes/cfg_language_de.inc.php
nach:
$lngAct["con"]["con_makeonline"] = i18n("Make article online");
füge ein:
$lngAct["con"]["con_duplicate"] = i18n("Duplicate article");
Hinweis: Kopieren wird bei den Benutzerrechten angezeigt.
Da ich nicht mehr 100% sicher bin, ob dass alles war, sind die betroffenen Dateien auch zu haben. Die Kopierfunktion funktioniert zwar, allerdings habe ich verschiedene Sprachen usw. nicht getestet, da ich dies nicht verwende. Mein Contenido funktioniert jedenfalls bestens.
Hier der Link:
http://www.ecopact.de/banner/copy.zip
Ich hoffe, ich habe nichts vergessen.
Viel Spaß damit
Alex
-
- Beiträge: 1082
- Registriert: Di 22. Jul 2003, 10:14
- Wohnort: Hessen
- Kontaktdaten:
Zum Punkt 1) Eingabe in die SQL Tabelle:
Dies ist der passende SQL Befehl, wenn man den Datensatz nicht direkt eintippen möchte.
Gruß
Florian
Code: Alles auswählen
INSERT INTO `con_actions` ( `idaction` , `idarea` , `alt_name` , `name` , `code` , `location` , `relevant` )
VALUES ('382', '1', '', 'con_duplicate', '', '', '1' );
Gruß
Florian
-
- Beiträge: 1082
- Registriert: Di 22. Jul 2003, 10:14
- Wohnort: Hessen
- Kontaktdaten:
Hallo
Eine gute Erweiterung
Nur möchte ich hinzufügen dass wenn man in der DB neue Tabelleneinträge manuell hinzufügt sollte man in der Tabelle con_sequence das entsprechende Wert erhöhen. Das ist der interne Datenbankzähler für Tabellen, ohne würde das automatische Update fehlschlagen weil der eingetragene Index bereits belegt ist.
Zum Befehl von Florian (idaction = 382) würde das Befehl ausreichen
Gruss, Edward
Eine gute Erweiterung
Nur möchte ich hinzufügen dass wenn man in der DB neue Tabelleneinträge manuell hinzufügt sollte man in der Tabelle con_sequence das entsprechende Wert erhöhen. Das ist der interne Datenbankzähler für Tabellen, ohne würde das automatische Update fehlschlagen weil der eingetragene Index bereits belegt ist.
Zum Befehl von Florian (idaction = 382) würde das Befehl ausreichen
Code: Alles auswählen
UPDATE con_sequence SET nextid = 383 WHERE seq_name = 'con_actions'