Artikel kopieren in 4.4.4 integrieren?

alexd
Beiträge: 33
Registriert: Mi 29. Dez 2004, 14:56
Kontaktdaten:

Artikel kopieren in 4.4.4 integrieren?

Beitrag von alexd » Fr 4. Feb 2005, 12:22

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

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Re: Artikel kopieren in 4.4.4 integrieren?

Beitrag von emergence » Fr 4. Feb 2005, 14:14

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...
*** make your own tools (wishlist :: thx)

alexd
Beiträge: 33
Registriert: Mi 29. Dez 2004, 14:56
Kontaktdaten:

Beitrag von alexd » Fr 4. Feb 2005, 16:17

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

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 4. Feb 2005, 16:43

yep entweder das mit upgrade oder direkt in der db den wert ergänzen
*** make your own tools (wishlist :: thx)

alexd
Beiträge: 33
Registriert: Mi 29. Dez 2004, 14:56
Kontaktdaten:

Geschafft

Beitrag von alexd » Mo 7. Feb 2005, 09:21

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

smkiel
Beiträge: 68
Registriert: Di 15. Okt 2002, 16:42
Kontaktdaten:

Re: Geschafft

Beitrag von smkiel » Mo 7. Feb 2005, 19:17

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

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 9. Feb 2005, 09:11

-> 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");
*** make your own tools (wishlist :: thx)

GPLRACER
Beiträge: 3
Registriert: Mi 23. Mär 2005, 10:49
Kontaktdaten:

Beitrag von GPLRACER » Mi 23. Mär 2005, 10:54

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

Cyclist
Beiträge: 90
Registriert: Fr 11. Feb 2005, 14:08
Wohnort: Berlin
Kontaktdaten:

Beitrag von Cyclist » Mi 23. Mär 2005, 11:56

Ich hätte daran auch interesse

alexd
Beiträge: 33
Registriert: Mi 29. Dez 2004, 14:56
Kontaktdaten:

Anleitung Artikel kopieren Version 4.4.4

Beitrag von alexd » Mo 18. Apr 2005, 11:10

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

GPLRACER
Beiträge: 3
Registriert: Mi 23. Mär 2005, 10:49
Kontaktdaten:

Beitrag von GPLRACER » Fr 22. Apr 2005, 14:05

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

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Fr 22. Apr 2005, 19:44

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

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Fr 22. Apr 2005, 20:07

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

ronaldo
Beiträge: 42
Registriert: Fr 18. Mär 2005, 10:23
Kontaktdaten:

Beitrag von ronaldo » Mi 27. Apr 2005, 11:24

Gerade gebraucht, gesucht, gefunden, eingebaut. DANKE!

Edanis
Beiträge: 61
Registriert: So 13. Jun 2004, 15:08
Wohnort: Witten
Kontaktdaten:

Beitrag von Edanis » Do 7. Jul 2005, 20:35

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

Gesperrt