Seite 1 von 2

Artikel kopieren in 4.4.4 integrieren?

Verfasst: Fr 4. Feb 2005, 12:22
von alexd
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

Re: Artikel kopieren in 4.4.4 integrieren?

Verfasst: Fr 4. Feb 2005, 14:14
von emergence
alexd hat geschrieben:Ist es möglich, NUR die Kopierfunktion ins 4.4.4 zu integrieren?
ähm kurz und knapp gesagt, ja sollte gehen...

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...

Verfasst: Fr 4. Feb 2005, 16:17
von alexd
Hab mir das mal angeschaut, ist allerdings doch komplexer als ich dachte.
Vielleicht mache ich mich nächste Woche mal daran und versuche das mal. Eine Frage zu der base.sql. Meinst du, die con_actions upzudaten.


Alex

Verfasst: Fr 4. Feb 2005, 16:43
von emergence
yep entweder das mit upgrade oder direkt in der db den wert ergänzen

Geschafft

Verfasst: Mo 7. Feb 2005, 09:21
von alexd
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

Re: Geschafft

Verfasst: Mo 7. Feb 2005, 19:17
von smkiel
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
Ich hätte Interesse an der Kopierfunktion.

Kannst Du mir das mal zukommenlassen?

Wiebke

Verfasst: Mi 9. Feb 2005, 09:11
von emergence
-> cfg_language_de.inc.php (für den namen des rechts)
sollte in etwa so aussehen..

Code: Alles auswählen

$lngAct["con"]["con_duplicate"] = i18n("Duplicate article");

Verfasst: Mi 23. Mär 2005, 10:54
von GPLRACER
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

Verfasst: Mi 23. Mär 2005, 11:56
von Cyclist
Ich hätte daran auch interesse

Anleitung Artikel kopieren Version 4.4.4

Verfasst: Mo 18. Apr 2005, 11:10
von alexd
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 = "&nbsp;";
}
$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

Verfasst: Fr 22. Apr 2005, 14:05
von GPLRACER
Hiho Alexd,

das war ja einfach ...hehe wenn man weiss wies geht...:)

DANKE SEHR ohne Deine ausführliche Hilfestellung wär ich aufgeschmissen
gewesen.... Dank ein gutes Feature ;)


Grüsse
GPLRACER
Micha Kaulfuss

Verfasst: Fr 22. Apr 2005, 19:44
von Beleuchtfix
Zum Punkt 1) Eingabe in die SQL Tabelle:

Code: Alles auswählen

INSERT INTO `con_actions` ( `idaction` , `idarea` , `alt_name` , `name` , `code` , `location` , `relevant` )
VALUES ('382', '1', '', 'con_duplicate', '', '', '1' );
Dies ist der passende SQL Befehl, wenn man den Datensatz nicht direkt eintippen möchte.

Gruß
Florian

Verfasst: Fr 22. Apr 2005, 20:07
von Beleuchtfix
Tolle Anpassung. :P
Der Einbau klappte einwandfrei, besonders wenn man die komplette Dateien kopiert :lol:
Vielleicht kann diese Funktion im nächsten Upgrade mit integriert werden, nachdem du das alles schön herausgeknobelt hast, sollte es doch relativ einfach sein.

Gruß
Florian

Verfasst: Mi 27. Apr 2005, 11:24
von ronaldo
Gerade gebraucht, gesucht, gefunden, eingebaut. DANKE!

Verfasst: Do 7. Jul 2005, 20:35
von Edanis
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

Code: Alles auswählen

UPDATE con_sequence SET nextid = 383 WHERE seq_name = 'con_actions' 
Gruss, Edward