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