Hallo.
Ich möchte ja (wie bereits geschrieben) das folgende drei Punkte automatisch gesetzt werden:
Ich gebe unter
Eigenschaften im Feld
Titel die eigentliche Überschrift an. Wenn man mit Enter (Button unten) den Artikel erstellt, werden
1.) der Seitentitel (=
pagetitle) und
2.) die Überschrift (im Editor)
automatisch gesetzt.
Die folgende Erklärung ist sehr detailliert.
Bevor ich es noch vergesse: Ich arbeite mit der Contenido 4.5.2 ALPHA. Es kann also sein, dass sich die Zeilennummern geändert haben.
Folgende Zeilen müssen in der Datei %CONTENIDO_ROOT%/contenido/includes/functions.con.php ergänzt werden:
Direkt die erste Funktion
conEditFirstTime muss geändert werden.
zu: 1.)
Diese Funktion ist unterteilt mit
# Table 'con_xxxxxx'. Scrollt bis
# Table 'con_art_lang' vor (bei mir ab Zeile 112).
Der Anfang sieht so aus (Leerzeichen gelöscht):
Code: Alles auswählen
# Table 'con_art_lang'
# One entry for every language
foreach ($a_languages as $tmp_lang) {
$lastmodified = ( $lang == $tmp_lang ) ? $lastmodified : 0;
$sql = "INSERT INTO ".$cfg["tab"]["art_lang"]." ( idartlang, idart, idlang, title, pagetitle, summary, artspec, created, lastmodified, author, online, redirect, redirect_url, external_redirect, artsort, timemgmt, datestart, dateend, status, time_move_cat, time_target_cat, time_online_move ) VALUES ( $db->nextid($cfg["tab"]["art_lang"]), '$new_idart', '$tmp_lang', '$title', '".addslashes([b]$page_title)."', '$summary', '$artspec', '$created', '$lastmodified', '".$auth->auth["uname"]."', '$online', '$redirect', '$redirect_url', '$external_redirect', '$artsort', '$usetimemgmt', '$datestart', '$dateend', '0', '$movetocat', '$time_target_cat', '$onlineaftermove')";
Ersetzt diesen Teil durch:
Code: Alles auswählen
# Table 'con_art_lang'
# One entry for every language
foreach ($a_languages as $tmp_lang) {
$lastmodified = ( $lang == $tmp_lang ) ? $lastmodified : 0;
$new_idartlang = $db->nextid($cfg["tab"]["art_lang"]);
$sql = "INSERT INTO ".$cfg["tab"]["art_lang"]." ( idartlang, idart, idlang, title, pagetitle, summary, artspec, created, lastmodified, author, online, redirect, redirect_url, external_redirect, artsort, timemgmt, datestart, dateend, status, time_move_cat, time_target_cat, time_online_move ) VALUES ( '$new_idartlang', '$new_idart', '$tmp_lang', '$title', '".addslashes($title)."', '$summary', '$artspec', '$created', '$lastmodified', '".$auth->auth["uname"]."', '$online', '$redirect', '$redirect_url', '$external_redirect', '$artsort', '$usetimemgmt', '$datestart', '$dateend', '0', '$movetocat', '$time_target_cat', '$onlineaftermove')";
Weiter unten (Zeile 292) steht noch eine SQL-Anweisung:
Code: Alles auswählen
$sql = "UPDATE ".$cfg["tab"]["art_lang"]." SET title = '".$title."', pagetitle = '".$page_title."', summary = '".$summary."', artspec = '".$artspec."', created = '".$created."', lastmodified = '".$lastmodified."', modifiedby = '".$author."', online = '".$online."', datestart = '".$datestart."', dateend = '".$dateend."', redirect = '".$redirect."', external_redirect = '".$external_redirect."', redirect_url = '".$redirect_url."', artsort = '".$artsort."' WHERE idart = '".$new_idart."' AND idlang = '".$tmp_lang."'";
Ersetzt diese durch
Code: Alles auswählen
$sql = "UPDATE ".$cfg["tab"]["art_lang"]." SET title = '".$title."', pagetitle = '".$title."', summary = '".$summary."', artspec = '".$artspec."', created = '".$created."', lastmodified = '".$lastmodified."', modifiedby = '".$author."', online = '".$online."', datestart = '".$datestart."', dateend = '".$dateend."', redirect = '".$redirect."', external_redirect = '".$external_redirect."', redirect_url = '".$redirect_url."', artsort = '".$artsort."' WHERE idart = '".$new_idart."' AND idlang = '".$tmp_lang."'";
zu: 2.)
In Zeile 316 steht eine return-Anweisung.
Direkt vor dieser Anweisung fügt ihr folgende Zeile ein:
Code: Alles auswählen
conSaveContentEntry($new_idartlang, 'CMS_HTMLHEAD', '1', $title);
Diese Änderungen werden nur bei der Erstellung eines neuen Artikels gemacht. Sobald der Artikel erstellt wurde, greifen die Änderungen nicht mehr.
Ein schönes Wochenende noch,
darthbach